今天我在优快云中看到一个有关“关于ENTER_FRAME的执行顺序问题”我觉得很有意思,我试着编写了一段代码:
var ar:Array=new Array()
var sp:Sprite=new Sprite()
sp.name="SP"
addChild(sp)
addEventListener(Event.ENTER_FRAME,xfu)
function xfu(e:Event)
{
trace(e.target.name)
}
for (var i:int=0;i<4;i++)
{
ar[i]=new Sprite()
ar[i].name="Sp_"+i
sp.addChild(ar[i])
ar[i].addEventListener(Event.ENTER_FRAME,xfu)
}
sp.addEventListener(Event.ENTER_FRAME,xfu)
则输出: root1 Sp_0 Sp_1 Sp_2 Sp_3 SP 由此可见:执行顺序是按代码的先后执行,不讲父级和子级的。
本文探讨了在ActionScript中ENTER_FRAME事件的执行顺序,通过一个实例展示了事件监听器如何按照代码添加的顺序而非父级与子级关系执行。在代码示例中,即使子级精灵添加了ENTER_FRAME监听器,它们的执行顺序仍然遵循先根节点后子节点的顺序,揭示了ENTER_FRAME事件处理的有趣特性。

被折叠的 条评论
为什么被折叠?



