我目前正在尝试从AS2转换为AS3,我在深度管理方面遇到了一个小问题。我在舞台上有几个名为(Window_1,Window_2,...,Window_N)的MovieClip,它们还有几个子MovieClip。
问题是每个Window_X MovieClip都以相同的方式构建: Window_x - > UI_TopBar - > TopBar_MC。我正在尝试创建一个通用解决方案,通过单击TopBar_MC,整个Window_X MovieClip就会到达顶部。
有人知道我该怎么做吗?
非常感谢
答案 0 :(得分:0)
只需致电stage.addChild(Window_N)
即可。请参阅文档:DisplayObjectContainer.addChild
将一个子DisplayObject实例添加到此DisplayObjectContainer实例。子项将添加到此DisplayObjectContainer实例中所有其他子项的前面(顶部)。
答案 1 :(得分:0)
将显示对象移动到其父显示列表的顶部:
object.parent.setChildIndex(object, object.parent.numChildren - 1);
至于如何制作这个" universal",你可以使用一个链接到每个窗口符号的类,它将一个点击处理程序添加到执行从前到后行为的顶部栏: / p>
class Window extends MovieClip {
public var topBar:MovieClip;
public function Window() {
topBar.addEventListener(MouseEvent.MOUSE_DOWN, topBarMouseDown);
}
private function topBarMouseDown(e:MouseEvent):void {
parent.setChildIndex(this, parent.numChildren - 1);
}
}