Actionscript 3 在帧之间切换对象时是否更改层?
我有一个对象的子对象,当帧发生变化时,该对象保持在场景中。于是我停下来(2);物体还在那里。然而,当我回到第一帧时。该对象位于最底层,尽管我最初使用addChildAt(character,1)添加它;我想这会把它添加到第一层?有人知道我如何解决在改变帧的情况下将movieclip对象保持在顶层的问题吗?谢谢 在AS3/Flash中,最底层是Actionscript 3 在帧之间切换对象时是否更改层?,actionscript-3,flash,actionscript,adobe,flash-cs6,Actionscript 3,Flash,Actionscript,Adobe,Flash Cs6,我有一个对象的子对象,当帧发生变化时,该对象保持在场景中。于是我停下来(2);物体还在那里。然而,当我回到第一帧时。该对象位于最底层,尽管我最初使用addChildAt(character,1)添加它;我想这会把它添加到第一层?有人知道我如何解决在改变帧的情况下将movieclip对象保持在顶层的问题吗?谢谢 在AS3/Flash中,最底层是0。这样做addChildAt(character,1)将使您的角色成为底层的第二个角色addChildAt(字符,0)将使其成为最底层/最底层 如果要使其
0
。这样做addChildAt(character,1)
将使您的角色成为底层的第二个角色addChildAt(字符,0)
将使其成为最底层/最底层
如果要使其成为最顶层,请执行以下任一操作:
addChild(character); //this is the shortest amount of code
addChildAt(character, numChildren-1); //the is exactly the same as above
setChildIndex(character, numChildren-1); //this is also the same but requires the character already be present on the display list
如果您的角色起源于时间轴(例如不是通过代码创建的),则后者(setChildIndex
)可能是首选。原因是,如果您通过代码更改在时间线上创建的某个对象的父级,它不会在时间线上不再出现时消失
如果你想让某件事永远处于领先地位,你可以按照以下思路来做:
this.addEventListener(Event.ADDED, bringToTop);
function bringToTop(e:Event):void {
setChildIndex(character, numChildren-1);
}
这样做,无论何时将任何其他对象添加为此的子对象,它都会将角色设置为最顶层/z索引。找到解决方案了吗?