这是我的代码:
package net.draganddrop
{
import flash.display.MovieClip;
import flash.event.MouseEvent;
public function object extends MovieClip
{
public function object()
{
buttonMode = true;
addEventListener(MouseEvent.MOUSE_DOWN, down);
}
protected function down(event:MouseEvent):void
{
parent.addChild(this);// I HAVE A PROBLEM WITH THIS CODE
startDrag();
}
}
}
代码parent.addChild(this);假设将对象放在另一个对象的顶部,就像将它移到其他对象的前面一样,但是当我放入该代码并开始拖动时,它也会在拖动它时多次复制对象。当我拖动它时,我不知道任何其他代码可以使对象在其他对象面前。请帮助!
答案 0 :(得分:0)
尝试:
parent.setChildIndex(this,parent.numChildren-1);
或
parent.addChildAt(this,parent.numChildren-1);
答案 1 :(得分:0)
据我所知,对象复制了自己并且你正在拖拽所有对象。所以请给我们更好的解释。如果这是你必须使用stopDrag的问题,那么当你按下按钮时会忘记startDrag方法,但是当你释放按钮时它仍会运行。
要停止你必须添加一些小代码,所以在这里。
也必须是:
public class object extends MovieClip not public function object extends MovieClip
试试这段代码:
package net.draganddrop
{
import flash.display.MovieClip;
import flash.event.MouseEvent;
public class object extends MovieClip
{
public function object()
{
buttonMode = true;
addEventListener(MouseEvent.MOUSE_DOWN, down);
addEventListener(MouseEvent.MOUSE_UP, up);
}
protected function up(event:MouseEvent):void
{
stopDrag();
}
protected function down(event:MouseEvent):void
{
parent.addChild(this);
startDrag();
}
}
}