→ ybite:var x:String = "test"; 02/26 02:18
→ ybite:(AS3繁瑣的變數指定是我從JS跳槽過來時的一大惡夢... 02/26 02:19
推 openyayak:所有變數都要經過"宣告"(var),才能夠使用它! 02/26 08:50
→ aquarianboy:JS沒有var這種東西嗎? 02/26 11:05
→ bmzz:JS有,可是大部分人習慣不用它XD.... 02/26 11:14
推 cjcat2266:最好養成宣告變數的習慣 02/26 11:30
→ cjcat2266:不經宣告即可存取變數的機制,只適用於dynamic class 02/26 11:31
感謝諸位大大的熱心回應,但是,我剛剛又實驗了一下,似乎是開檔案時的問題
比方說,如果我開檔時選擇的是 Flash檔案(ActionScript3.0)
然後按 F9 開始編輯底下的程式碼:
x = "test";
trace(x);
然後用 Ctrl + Enter 測試時,就會出現
[1067: String 類型值以隱含方式強制轉型成不相關的類型 Number。]
的錯誤
然後根據大大們的建議,將程式碼改成:
var x:String = "test";
trace(x);
結果出現的是
[1152:
已繼承定義 flash.display:DisplayObject.x 於 namespace public 中發生衝突。]
的錯誤
但是,如果我開檔時選擇了 Flash檔案(ActionScript2.0)
再重新跑
var x:String = "test";
trace(x);
就能夠順利執行出 test 的結果
所以,好像是 3.0 跟 2.0 的差異
真奇怪
※ 編輯: maddman 來自: 210.85.164.43 (02/26 19:21)
→ aquarianboy:2.0是 _x(底線x),3.0沒有底線 02/26 19:39
※ 編輯: maddman 來自: 210.85.164.43 (02/26 20:47)
推 scars:因為你把code寫在DisplayObject裡面, x是他的x座標 AS2是 _x 02/27 02:06
→ scars:建議你變數不要取做x或y 最好還是取的有意義一點 如testStr 02/27 02:08