当我点击一个按钮时,你可以创建一个简单的项目,将一个可拖动的MovieClip添加到单元格中,当你点击它时,将MovieClip释放到你点击的X / Y,然后你可以拾取MovieClip并拖动它进入垃圾箱(MovieClip),在那里它自我毁灭。代码工作得很好我可以使用按钮制作多个Movieclip,当我将它们拖到bin中时它们都被破坏但是我不喜欢“错误代码”。
import flash.events.MouseEvent;
var rubbish:my_mc = new my_mc();
btntest.addEventListener(MouseEvent.CLICK, makeRubbish);
function makeRubbish (event:MouseEvent):void {
addChild(rubbish);
rubbish.x = mouseX - 10;
rubbish.y = mouseY - 10;
rubbish.width = 50;
this.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
rubbish.buttonMode = true;
}
function stopDragging (event:MouseEvent):void {
rubbish.stopDrag()
event.target.addEventListener(MouseEvent.CLICK, startDragging);
rubbish.buttonMode = true;
if (event.target.hitTestObject(bin))
{
trace("hit");
event.target.name = "rubbish";
removeChild(getChildByName("rubbish"));
}
}
function startDragging (event:MouseEvent):void {
event.target.startDrag();
this.addEventListener(MouseEvent.CLICK, stopDragging);
}
答案 0 :(得分:0)
一些指针:
target
的{{1}}属性并不总是如此。它实际上是指事件冒泡过程中的当前阶段。尝试使用Event
属性。currentTarget
方法绑定到舞台上,因为有时候点击时鼠标不会超过拖动。stopDragging
事件而非MOUSE_UP
标准拖动行为。CLICK
方法。试试这个:
stopDrag