1

このアクションスクリプトコードがあります。私がやろうとしているのは、imageContainer の子要素である imgSprite でマウス イベントをトリガーすることです。imgSprite のマウス座標でトリガーされることを期待していましたが、代わりに imgSprite の最後に読み込まれたインスタンスを使用します。全体像を把握するために、2 つのパズル ピースを入れ替えようとしています。1 つをドロップすると、下にあるピースがすぐに拾われます。これを行うには、上のもの (selectedImage) を削除し、イベント リスナー (imgSprite を指す) によってピックアップされ、mouse_down 関数に送られる 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));
    }
4

1 に答える 1

0

バブリングをオンにして、even.targetとevent.currentTargetの違いをデバッグします。

于 2012-12-09T18:40:48.943 に答える