作者cjcat2266 (CJ Cat)
看板Flash
標題Re: [問題] as3 不同階層函式呼叫問題
時間Thu Jul 9 09:58:27 2009
你是想要解決這個特例
stage.addChild()的物件要呼叫root的函式
還是想要解決這個更一般化的問題?
a.addChild()的物件要呼叫同屬a的child的物件b身上的函式
如果是前者,直接呼叫root.myFunction()就好
如果是後者,有幾種做法
(1)先前有設定b.name = "abc"
DisplayObjectContainer(parent).getChildByBame("abc").myFunction()
(2)知道b在a的深度為n
DisplayObjectContainer(parent).getChildAt(n).myFunction()
還有很多很迂迴的做法,不過不符合直覺,所以就不在此敘述
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.124.85.205
推 hmtlheke:我是問第一個問題 好像不能直接呼叫root.myFunction() 07/09 16:17
→ hmtlheke:我用(stage.getChildAt(0) as MovieClip).myFunction 07/09 16:18
→ hmtlheke:這樣就成功了 還是謝謝你:) 07/09 16:19
→ cjcat2266:對,要先轉成Sprite或MovieClip,因為root的類型是 07/09 16:35
→ cjcat2266:DisplayObject,DislayObject不是dynamic class 07/09 16:35
→ cjcat2266:偷懶被發現抓包了 :p 07/09 16:40
推 hmtlheke:哈哈 階層概念多虧你的講解 有比較清楚點了 感謝你 07/09 16:47