Actionscript 3 动作脚本3:按钮总是在顶部?

Actionscript 3 动作脚本3:按钮总是在顶部?,actionscript-3,flash,button,movieclip,Actionscript 3,Flash,Button,Movieclip,我正在做一个小游戏。因此,我需要在我的主要时间线4层。在底层是一个带有一些按钮的电影剪辑。在上面的两层中,还有用于效果和动作的movieclips,顶部的层用于actionscript。层的顺序是预期的 当我测试它时,我不能点击任何按钮,因为上面肯定有movieclips。actionscript中是否有可能说,所有按钮都始终位于顶部?您可以通过设置parent.setChildIndex(childObject,i)来更改z索引。设置一个非常高的索引,以确保其始终位于顶部 您可以通过设置par

我正在做一个小游戏。因此,我需要在我的主要时间线4层。在底层是一个带有一些按钮的电影剪辑。在上面的两层中,还有用于效果和动作的movieclips,顶部的层用于actionscript。层的顺序是预期的


当我测试它时,我不能点击任何按钮,因为上面肯定有movieclips。actionscript中是否有可能说,所有按钮都始终位于顶部?

您可以通过设置parent.setChildIndex(childObject,i)来更改z索引。设置一个非常高的索引,以确保其始终位于顶部


您可以通过设置parent.setChildIndex(childObject,i)来更改z索引。设置一个非常高的索引,以确保其始终位于顶部


每次通过一个按钮添加新的DisplayObject/DisplayObjectContainer时,您也可以调用addChild

如果按钮存储在向量中,如下所示:

var buttons:Vector.<SimpleButton> = new Vector.<SimpleButton>();
所以按钮总是在其他显示对象的上方

要删除按钮,可以添加“removeButtons”方法:

函数removeButtons():void{

对于(var i:uint=0;i您还可以在每次通过一个按钮添加新的DisplayObject/DisplayObjectContainer时调用addChild

如果按钮存储在向量中,如下所示:

var buttons:Vector.<SimpleButton> = new Vector.<SimpleButton>();
所以按钮总是在其他显示对象的上方

要删除按钮,可以添加“removeButtons”方法:

函数removeButtons():void{

对于(var i:uint=0;我感谢您!我将尝试更改z-index。不过要小心!一旦您操作源自时间轴的对象的父级(setChildIndex/AddChild/AddChildAt),该对象将不再受时间线的影响。它将保留在屏幕上,直到其父时间线被删除,或者您使用
removeChild
显式删除它。关键帧将不会删除它。为什么要更改z索引?通过重新使用addChild方法,您不必关心索引?您甚至不需要修改索引t numChildren属性。谢谢!我将尝试更改z-index。不过要小心!一旦您操作源自时间轴的对象的父级(setChildIndex/AddChild/AddChildAt),该对象将不再受时间线的影响。它将保留在屏幕上,直到其父时间线被删除,或者您使用
removeChild
显式删除它。关键帧将不会删除它。为什么要更改z索引?通过重新使用addChild方法,您不必关心索引?您甚至不需要修改索引t numChildren属性。当触发event.ADDED时,您也可以调用setButtonsOnTop()方法…听起来不错。谢谢您,tatactic,我将尝试使用此方法。当触发event.ADDED时,您也可以调用setButtonsOnTop()方法…听起来不错。谢谢您,tatactic,我将尝试使用此方法。
setButtonsOnTop();
function removeButtons():void{
    for(var i:uint=0;i<buttons.length;i++){
        removeChild(buttons[i]);
    }
}