Actionscript 3 将AS3中的setChildIndex设置为默认索引
我有一个对象,出于某种原因,我想在它开始拖动时将其带到前面:Actionscript 3 将AS3中的setChildIndex设置为默认索引,actionscript-3,Actionscript 3,我有一个对象,出于某种原因,我想在它开始拖动时将其带到前面: myObject.startDrag(); setChildIndex(myObject, numChildren-1); 现在,当我转到下一帧或上一帧时,myObject位于其他对象之上。 我如何在开始时将MyObject索引恢复为默认值,在对其进行修补之后?调用之前 startDrag() 使用 拖动完成后,将对象的索引设置为上一个对象 setChildIndex(myObject, previousIndex);
myObject.startDrag();
setChildIndex(myObject, numChildren-1);
现在,当我转到下一帧或上一帧时,myObject位于其他对象之上。
我如何在开始时将MyObject索引恢复为默认值,在对其进行修补之后?调用之前
startDrag()
使用
拖动完成后,将对象的索引设置为上一个对象
setChildIndex(myObject, previousIndex);
我希望这会有所帮助。首先存储默认对象索引。假设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);
}
@Amir请确保在另一个事件侦听器中可以访问该变量,也就是说,将其设置为全局变量或附加到对象。@如果您正在建议一个本地变量,而在另一个事件侦听器中则无法访问该变量。否则,这是一个很好的答案。好的,它是可访问的,但不起作用!我认为我的解决方案是当我按下下一步或后退按钮时,将myObject visible设置为false!
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);
}