作者STARGAZERs (星之影)
看板Flash
標題[問題] root, stage, global 這三個的差異??
時間Thu Dec 9 14:34:26 2010
Flash 是寫越多感覺問題越深奧的東西....
之前對於 容器不太瞭解的時候 我都把東西直接丟到 stage
ex. stage.addChild,
stage.removeChild,
stage.addEventListener
這兩天在把 A.swf 包到 B.swf 之下才發現問題百出
爬文研究後才明白才知道...
MainTimeLine(root) 是每個 swf 的最上層場景
stage 是 swf Player 最上層的場景 關係是下面那樣
Stage
|
MainTimeLine (root)
可是改一改又發現一個問題
我在用 var myFun:Function = () { trace(this) }
這種寫法的時候 this 會變成 object global
而不是 object MainTimeLine
可是這個 object global 又是什麼?
function 自己的場景?
怎麼不是 MainTimeLine 阿?
這樣我就變成要改用 root.addEventlistener?
一整個被搞混了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.248.159
推 liaosankai:我通常都會宣告一個var self,在建構子把self=this 12/14 13:08
→ STARGAZERs:這樣聽起來不錯阿... 12/15 15:29
→ STARGAZERs:又學到一招~~~ 感謝 12/15 15:30