【发布时间】:2016-05-04 13:40:41
【问题描述】:
当点击发生(移动角色)时,我在鼠标位置上使用事件监听器(坐标)制作了这个游戏。
我还有另一个用于拖放(组合项目)的事件监听器,效果很好。
function stageDown (event:MouseEvent):void
{
stage.removeEventListener(MouseEvent.CLICK, coordinates);
MovieClip(getChildByName(event.target.name).toString()).startDrag();
MovieClip(getChildByName(event.target.name).toString()).addEventListener(MouseEvent.MOUSE_UP,stageUp);
...stuff..
}
function stageUp(event:MouseEvent):void
{
stopDrag();
...stuff...
stage.addEventListener(MouseEvent.CLICK, coordinates);
}
在函数 stageDown 中,我删除了运动的事件侦听器(坐标),然后在函数 stageUp 的末尾再次添加它(当您释放鼠标按钮并且拖动完成时)
但是不工作,当我松开拖动时角色开始移动,不明白为什么
【问题讨论】:
-
您的
stageDown处理程序是否已附加到舞台(顾名思义)?或您正在拖动的项目? -
MovieClip(getChildByName(event.target.name).toString()).startDrag();天哪! -
哦,天哪,猜猜简单的“event.target.startDrag()”还不够时髦……
-
@Stevemaster - 你明白了吗?
-
@BotMaster xD 天哪,真可惜,我对 as3 完全是菜鸟。更正谢谢!
标签: actionscript-3 drag-and-drop event-listener