2012-04-04 6 views
0

子供のmc /またはネストされたMovieClipsを登録していないターゲットに問題があるように思われるため、質問を変更しました。親のmovieClipを無視しているAS#3のターゲット

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; 
    } 

メインムービークリップ(levelPlane)内のムービークリップ(BOX)をターゲットに設定しますか? MovieClipの中に10個のボックスを入れ子にしていると思います。「levelPlane」と呼ばれるボックスをクリックして、別のMcをボックスに追加します。

答えて

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; 
+0

チャンピオン、近いので、これらの新しいmcツリーがグローバルに影響を与えているので、方法..ありがとう – joshua

1

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

+0

私は知っています。どちらも同じ結果が残っています – joshua

+0

もう少し質問を理解してみましょう:新しいムービークリップを作成し、それをムスリックの場所にある既存のムービークリップに追加したいですか? – constantine1

+0

私はちょうどtree1.x = mouseXを使うことができるので、マウスではありません。私はちょうどクリックしたmcの位置にmcを追加できます。 – joshua

関連する問題