因為 早期 flash 5 不能使用 eval 所以被this[ ] 方法取代
到
現在還會用的人 有兩種情況 很早就使用flash , 再來就是java用習慣了
我舉個例子:
_root.createEmptyMovieClip("nn"+i,
i); //以nn+i 命名建立一個movieclip
var pp = eval("nn"+i); // nn+i 這一串東西用
pp 取代
pp._alpha=50; //意思 現在的pp 就等於 nn(字串)+i(變數)
但某些時候我們又一定
要用到 eval
for (var i = 1; i <= 3; i++) { setProperty(square+i+_mc, _rotation, 5); }
//setProperty
意思 對 square+i+_mc 物件 的 _rotation(旋轉度) 設為5
//但變數擺在方法裡 以上的寫法是絕對行不通 會產生錯誤
//所
以這時候 eval 就來了 將命稱與變數包起來用
for (var i = 1; i <= 3;
i++) {
setProperty(eval("square"+i+"_mc"), _rotation, 5);
}
當然了 沒人規定 沒有eval 就活不下去了
以我的寫法:
for (var i = 1; i <= 3; i++) { this["square"+i+"_mc"]._rotation = -5; }
this["square"+i+"_mc"] //開頭以[]將變數包起來用 //是很重要的用法 一定要學起來
沒有留言:
張貼留言