0

マウス クリック イベントを使用して、マウスの座標にシンボルの子を作成する関数があります。次に、インスタンスが配列にプッシュされます。

現在、マウスが 10 ピクセル以内にあるときに子をドラッグ/ドロップできる新しい関数を作成しようとしています。子がドロップされたら、配列内の次の子に面するように回転させます。for each現在、ループを使用して配列内の各子と通信しています。

私が問題を抱えているのは、削除された子のインデックス値を取得して変数に設定することです。

参考までに、ins_trailPointは子を作成する変数で、 は子をtPoint含む配列の名前です。childドロップされた子のインデックス値を取得しようとする変数です。

function movePoint(Event:MouseEvent):void {
    for each (var ins_trailPoint in tPoint) {
        var child:int = event.target.parent.getChildIndex(event.target);
        var px:Number = mouseX - ins_trailPoint.x;
        var py:Number = mouseY - ins_trailPoint.y;
        var dist = Math.sqrt(px*px + py*py);

        if (dist<10) {
            stage.removeEventListener(MouseEvent.CLICK, addPoint);
            stage.addEventListener(MouseEvent.MOUSE_UP, dropPoint);
            ins_trailPoint.startDrag();

            function dropPoint(event:MouseEvent):void {
                ins_trailPoint.stopDrag();
                var dx:Number = tPoint[child+1].x - ins_trailPoint.x;
                var dy:Number = tPoint[child+1].y - ins_trailPoint.y;
                var radians:Number = Math.atan2(dy,dx);
                ins_trailPoint.rotation = radians * 180/Math.PI;
4

1 に答える 1

0

のパラメータは大文字でmovePoint()呼びますが、tuは小文字で使ってみます。Eventevent

于 2013-03-01T06:30:33.057 に答える