AS3中的setChildIndex设置为默认索引

时间:2013-07-19 13:37:21

标签: actionscript-3

我有一个对象,出于某种原因,我想在开始拖动时把它带到前面:

  myObject.startDrag();
  setChildIndex(myObject, numChildren-1);

现在,当我转到下一帧或上一帧时,myObject会覆盖其他对象。 如何在dargged之后将myObjects索引恢复到默认值?

2 个答案:

答案 0 :(得分:1)

之前打电话

 startDrag()

使用

 var previousIndex = getChildIndex(myObject);
完成拖动后

然后将对象的索引设置为上一个对象。

 setChildIndex(myObject, previousIndex);

我希望这会有所帮助。

答案 1 :(得分:0)

首次存储默认对象索引。假设myBox是您的显示对象。 现在,您可以根据需要设置对象的默认索引。

var originalIndex = this.getChildIndex(myBox);

myBox.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
myBox.addEventListener(MouseEvent.MOUSE_UP,onUp);

function onDown(e:MouseEvent)
{
     //Set object index on top
     this.setChildIndex(myBox,this.numChildnre-1);
     myBox.startDrag();
}

function onUp(e:MouseEvent)
{
     myBox.stopDrag();

     //Set object index as originalIndex
     this.setChildIndex(myBox,originalIndex);
}