【问题标题】:As3 dispatch mouse_down event on SpriteAs3 在 Sprite 上调度 mouse_down 事件
【发布时间】:2012-12-08 21:20:28
【问题描述】:

我有这个动作脚本代码。我要做的是在 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));
    }

【问题讨论】:

    标签: actionscript-3 mouseevent event-dispatching


    【解决方案1】:

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

    【讨论】:

    • 你能再具体一点吗?如果我打开冒泡不会影响所有父元素吗?我只希望 imgSprite 受到影响
    • 只有当他们也有事件监听器时。
    猜你喜欢
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多