在第一個影格
var a=1;
_root.onEnterFrame = function(){
trace(a);
}
a=3;
在第二個影格
a=2
_root.onEnterFrame = null;
結果
3
3
3
3
3
……
解說
原因是程式碼在畫面載入之前執行,而.onEnterFrame是在畫面載入前執行。所以第一個影格並不會印出1,而是印出a最後的值3。因此可以知道_root.onEnterFrame = function放在程式碼的哪一個位置是沒有關係的。因為它是該影格最慢執行的函式。
雖然第二個影格的a被指定為2,但是來不及執行.onEnterFrame指定的函式,他就被移除了,所以始終不會印出2。
照著走一次
影格一
var a=1;
a = 3
trace(a);
畫面載入
影格二
a=2
_root.onEnterFrame = null; //onEnterFrame在這裡被移除了,所以第二個影格永遠不會印出a
畫面載入
影格一
….
Blogged with Flock
No comments:
Post a Comment