如果你是用Flash cs3的as3寫程式,那就表示已經沒有root階層可以使用了。太多數的美術人員對於沒有root階層都非常的不習慣,原本做動畫還可以自已控制一些語法,現在反而非常的難處理,甚至不太願意去轉換到as3。所以我測試了一下如何去取得root階層的變數希望對有些這困擾的人有一些幫助,以下是取得 root階層變數的一些用法。
第一種
this.parent['a']; //取得上一層的變數a
this.parent['func']();//取得上一層func的函式
笫二種
MovieClip(stage.getChildAt(0))['a']; //取得root變數a,有點像之前的絕對路徑用法_root.a
MovieClip(stage.getChildAt(0))['func']();//呼叫root的func的函式
第三種(這一種應該會最受歡迎吧 =..=,但不在同stage這一種方式就會抓不到變數)
var _root:Object = root;
_root.func();
有人可能為有疑問為什麼第二種用法都要用MoiveClip包起來,因為getChildAt是DisplayObjectContainer,需要先轉換型別。
0 意見:
張貼留言