动作脚本3的深度相关问题

时间:2011-06-09 15:47:07

标签: actionscript-3 drag-and-drop

我无法管理影片剪辑的深度。

我有一个startDrag()函数和一个stopDrag()函数。 每当我翻转另一个MC时,我希望该对象的深度变为它翻过的对象的1+。(如果我的英语很差,我道歉)

有人能给我一个正确方向的推动吗?

编辑:这是我得到的,但cIndex返回当前被拖动的对象的深度;不是它徘徊的对象......有没有办法达到这个深度?

mc.addEventListener(MouseEvent.MOUSE_OVER, objectFront);

function objectFront(e:Event):void{
    cIndex_t3 = getChildIndex(DisplayObject(e.currentTarget))
    trace("ROLLOBJ: " + e.target.name + " " + cIndex_t3);
    addChild(DisplayObject(e.currentTarget));
}

3 个答案:

答案 0 :(得分:0)

您希望使用getChildIndexsetChildIndex来获取和修改显示对象的深度。

查看this question了解更多信息。

答案 1 :(得分:0)

如果你真的想要反对它翻转的对象+1,那么在拖过的对象上使用getChildIndex()并在拖动的对象上使用setChildIndex()。

但是如果您只想将拖动的对象放在顶部,那么最简单的方法就是在其上使用addChild()。你可以使用addChild(),即使该对象已经是一个子对象,并且它会将它碰到堆栈的顶部。

答案 2 :(得分:0)

您应该使用getChildIndex和setChildIndex进行显示对象的深度相关操作。

mc.addEventListener(MouseEvent.MOUSE_OVER, objectFront);

function objectFront(e:Event):void
{
   //Set display object child index on top in container
   e.target.parent.setChildIndex(e.target as MovieClip, e.target.parent.numChildren - 1);
}