Actionscript 3 将movieclip置于一切之上
我在舞台上有一堆movieclips,其中一些嵌套在其他movieclips中,当我开始拖动它时,我希望有一个movieclips放在舞台上其他所有东西的上面。有人知道如何在父对象等之上获得嵌套的movieclip吗?假设容器是您的父movieclip,它有许多子对象,那么现在您的target和currentTarget属性取决于侦听器连接的对象以及您嵌套了多少movieclip。在我的例子中,容器是有两个或更多孩子的父母movieClipActionscript 3 将movieclip置于一切之上,actionscript-3,Actionscript 3,我在舞台上有一堆movieclips,其中一些嵌套在其他movieclips中,当我开始拖动它时,我希望有一个movieclips放在舞台上其他所有东西的上面。有人知道如何在父对象等之上获得嵌套的movieclip吗?假设容器是您的父movieclip,它有许多子对象,那么现在您的target和currentTarget属性取决于侦听器连接的对象以及您嵌套了多少movieclip。在我的例子中,容器是有两个或更多孩子的父母movieClip Container.addEventListener(
Container.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
public function pickUp(param1:MouseEvent) : void
{
var objectToDrag = param1.target;
Container.setChildIndex(param1.target,Container.numChildren-1);
objectToDrag.startDrag(true);
}
在舞台上最重要的是:
stage.addChild(target);
来自AS3文档的警告:
命令stage.addChild可能会导致发布的SWF出现问题
文件,包括安全问题以及与其他加载的SWF的冲突
文件夹。Flash运行时实例中只有一个阶段,不是吗
无论您将多少SWF文件加载到运行时。所以一般来说,,
不应直接将对象添加到舞台。唯一的
阶段应包含的对象是根对象。创建一个
DisplayObjectContainer以包含显示器上的所有项目
列表然后,如有必要,将该DisplayObjectContainer实例添加到
舞台
你可以有一个顶层&一个底层,当你想在所有其他的东西上面添加一个子元素时,只需将子元素添加到顶层。这样,您就不需要知道父位置是什么,只需将该层保持在顶部即可实现特定目的 var topLayer:Sprite = new Sprite(); var bottomLayer:Sprite = new Sprite(); var childMc:MovieClip; // the mc you want to have on top //somewhere in your code... childMc.addEventListener(MouseEvent.MOUSE_DOWN , childMcMouseDownListener ); addChild( bottomLayer ); addChild( topLayer ); //add everything to the bottom layer //leave the topLayer empty until you add the child mc //add the following code in your MouseDown Listener function childMcMouseDownListener(event:MouseEvent ):void { topLayer.addChild( event.currentTarget ); }