仅最顶部精灵的 Pixi js 鼠标事件

Pixi js mouse events for top most sprite only

我注意到在 pixi.js 版本 1.3 中,如本示例所示,堆叠精灵,然后单击并拖动只会拖动最上面的精灵。

    bunny.mousedown = bunny.touchstart = function(data)
    {
//      data.originalEvent.preventDefault()
        // store a refference to the data
        // The reason for this is because of multitouch
        // we want to track the movement of this particular touch
        this.data = data;
        this.alpha = 0.9;
        this.dragging = true;
        this.sx = this.data.getLocalPosition(bunny).x * bunny.scale.x;
        this.sy = this.data.getLocalPosition(bunny).y * bunny.scale.y;
    };

http://jsfiddle.net/dirkk0/cXfpq/

在版本 3.0.3 中,如本示例所示,相同的代码会导致拖动鼠标下的所有精灵。

http://jsfiddle.net/9tnaa31z/5/

有没有办法只获取最顶部的精灵或获取所有精灵列表的方法(按渲染顺序)?

我认为 3.0.3 版本的 PIXI 可能存在错误。我刚刚用最新的 3.0.5 试了一下,它按预期工作,即它只拖动最上面的 Sprite.

用这个latest version of Pixi.js更新你fiddle中的外部资源,它应该可以工作。

参考:https://cdnjs.com/libraries/pixi.js.