今天我在CSDN中看到一个有关“关于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
由此可见:执行顺序是按代码的先后执行,不讲父级和子级的。