Actionscript 3:按钮总是在最上面?
Actionscript 3: Buttons always on top?
我正在开发一个小游戏。所以我的主时间线需要 4 层。底层是一个带有一些按钮的影片剪辑。在上面的两层中,还有用于效果和动作的影片剪辑,最上面的一层用于动作脚本。层的顺序是预期的。
而且当我测试它时,我无法点击任何按钮,因为它们上面肯定有动画片段。是否有可能在 actionscript 中说,所有按钮总是在最上面?
您可以通过设置 parent.setChildIndex(childObject, i) 来更改 z-index。设置一个非常高的索引,以确保其始终在顶部
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/all-index-Z.html
每次在您的某个按钮上添加新的 DisplayObject / DisplayObjectContainer 时,您也可以调用 addChild...
如果您的按钮存储在 Vector 中,如下所示:
var buttons:Vector.<SimpleButton> = new Vector.<SimpleButton>();
你有一个像 setButtonsOnTop
这样的函数
function setButtonsOnTop():void{
for(var i:uint=0;i<buttons.length;i++){
addChild(buttons[i]);
}
}
在按钮上添加内容时调用该函数。
setButtonsOnTop();
所以按钮总是在其他 DisplayObjects 之上...
要删除按钮,您可以通过添加 "removeButtons" 方法来完成此操作:
function removeButtons():void{
for(var i:uint=0;i<buttons.length;i++){
removeChild(buttons[i]);
}
}
这样就不用关心索引值了
我正在开发一个小游戏。所以我的主时间线需要 4 层。底层是一个带有一些按钮的影片剪辑。在上面的两层中,还有用于效果和动作的影片剪辑,最上面的一层用于动作脚本。层的顺序是预期的。
而且当我测试它时,我无法点击任何按钮,因为它们上面肯定有动画片段。是否有可能在 actionscript 中说,所有按钮总是在最上面?
您可以通过设置 parent.setChildIndex(childObject, i) 来更改 z-index。设置一个非常高的索引,以确保其始终在顶部
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/all-index-Z.html
每次在您的某个按钮上添加新的 DisplayObject / DisplayObjectContainer 时,您也可以调用 addChild...
如果您的按钮存储在 Vector 中,如下所示:
var buttons:Vector.<SimpleButton> = new Vector.<SimpleButton>();
你有一个像 setButtonsOnTop
这样的函数function setButtonsOnTop():void{
for(var i:uint=0;i<buttons.length;i++){
addChild(buttons[i]);
}
}
在按钮上添加内容时调用该函数。
setButtonsOnTop();
所以按钮总是在其他 DisplayObjects 之上...
要删除按钮,您可以通过添加 "removeButtons" 方法来完成此操作:
function removeButtons():void{
for(var i:uint=0;i<buttons.length;i++){
removeChild(buttons[i]);
}
}
这样就不用关心索引值了