例如,如何创建一个处理所有 startDrag() 和 stopDrag() 事件的类?这个类没有MovieClip。我希望此类仅用作多个类使用的事件的处理程序。
我正在制作一个游戏,我有很多可以拖放的项目,我需要一种更有效的方法,而不是把这段代码放在每个项目类中。
那么还有其他方法可以做到这一点吗?现在我必须将它复制并粘贴到我拥有的每个可以拖放的类中。
public function Weapon1()
{
originalPosition = new Point(x,y);
addEventListener(Event.ENTER_FRAME, onEntrance);
}
public function onEntrance(evt:Event)
{
addEventListener(MouseEvent.MOUSE_DOWN, mousedown);
addEventListener(MouseEvent.MOUSE_UP, mouseup);
}
public function mousedown(evt:MouseEvent)
{
startDrag(true);
}
public function mouseup(evt:MouseEvent)
{
stopDrag();
if(dropTarget)
{
if(dropTarget.parent.name == "slot")
{
this.x = dropTarget.parent.x;
this.y = dropTarget.parent.y;
}
}
else
{
returnToPosition();
}
}
else
{
returnToNewPosition();
}
}
public function returnToPosition()
{
x = originalPosition.x;
y = originalPosition.y;
}
public function returnToNewPosition()
{
x = newPosition.x;
y = newPosition.y;
}