As3在Sprite上发送mouse_down事件

时间:2012-12-08 21:20:28

标签: actionscript-3 mouseevent event-dispatching

我有这个动作代码。我想要做的是在imgSprite上触发鼠标事件,imgSprite是imageContainer的子元素。我期待它在imgSprite上的鼠标坐标上移动它,但它使用最后加载的imgSprite实例。为了获得更大的图片,我试图切换两个拼图,所以当我放下一个拼图时,下面的拼图会立即被拾取。我这样做是通过删除上一个(selectedImage)并调度一个mouse_down事件,该事件应由事件监听器(指向imgSprite)拾取并定向到mouse_down函数。

function mouse_Down(e:MouseEvent):void 
    {
        dropSelectedImage();
        if(selectedImage) imageContainer.addChild(selectedImage); 
        imageContainer.removeChild(e.currentTarget as Sprite); 
        imageContainer.addChild(e.currentTarget as Sprite); 
        selectedImage = e.currentTarget as Sprite;
        selectedImage.startDrag();
    }
    function mouse_Up(e:MouseEvent):void{
        dropSelectedImage();
        imageContainer.removeChild(selectedImage); 
        imgSprite.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN,true,true));
    }

1 个答案:

答案 0 :(得分:0)

打开冒泡,调试even.target和event.currentTarget之间的区别。