作者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
1F:推 hmtlheke:我是问第一个问题 好像不能直接呼叫root.myFunction() 07/09 16:17
2F:→ hmtlheke:我用(stage.getChildAt(0) as MovieClip).myFunction 07/09 16:18
3F:→ hmtlheke:这样就成功了 还是谢谢你:) 07/09 16:19
4F:→ cjcat2266:对,要先转成Sprite或MovieClip,因为root的类型是 07/09 16:35
5F:→ cjcat2266:DisplayObject,DislayObject不是dynamic class 07/09 16:35
6F:→ cjcat2266:偷懒被发现抓包了 :p 07/09 16:40
7F:推 hmtlheke:哈哈 阶层概念多亏你的讲解 有比较清楚点了 感谢你 07/09 16:47