0

ターゲットが子 mc/ またはネストされた MovieClips を登録していないことに問題があるように思われるため、質問を変更しました。

    var box:Box = new Box();
    ground.push(box);
    levelPlane.addEventListener(MouseEvent.MOUSE_DOWN, onOver);
    box.x = box.width /2* (x + y);
    box.y = box.height/2 * (x - y);
    levelPlane.addChild(box);

    function onOver(e:MouseEvent):void{
    var tree1:Tree1 = new Tree1();
    addChild(tree1)
    trace(e.target.x);
    tree.x = e.target.x;
    }

メイン MovieClip(levelPlane) 内の Movieclips(BOX) をターゲットにするにはどうすればよいですか? 「levelPlane」と呼ばれる MovieClip 内に 10 個のボックスをネストしたと想像してください。いずれかのボックスをクリックして、x、y 位置をクリックしたボックスに別の Mc を追加します。

4

2 に答える 2

1

Event.currentTarget プロパティは、イベントを処理している現在のオブジェクト、つまりリスナー オブジェクトを参照します。イベントを送出したオブジェクトへの参照が必要な場合は、e.target を使用します

于 2012-04-04T05:04:29.220 に答える
1

私の理解が正しければ、新しく作成したムービー クリップを他のクリップの上に配置しようとしていますが、それらは同じ座標空間内にありません。両方が同じ位置になるように、ターゲットの座標を tree1 の座標空間に変換する必要があります。

var tree1:Tree1 = new Tree1();
addChild(tree1);

var global:Point = e.target.parent.localToGlobal(new Point (e.target.x, e.target.y));
var local:Point = globalToLocal(global);
tree1.x = local.x;
tree1.y = local.y;
于 2012-04-04T07:25:19.067 に答える