親コンテナーの座標からグローバル ステージ座標に変換しようとしています。これはオブジェクトとコンテナです:
imgSprite.addChild(imgInstance); //imgInstance is imported from class
imageContainer.addChild(last);
imageContainer.addChild(imgSprite); // imgSprite and last are to be replaced
基本的には、 の 2 つの画像の位置を入れ替えたいと考えていimageContainer
ます。
関数を適用しましたlocalToGlobal()
が、効果はありませんでした。私は何を間違えましたか?
これは、それらを置き換える私の機能です。注:このコードはクラスに属しmain
、コンテナの親はステージであり、すべてが(コードではなく)経由でimgSprite
追加および移動されます。imgContainer
obj.x
obj.y
function click(e:MouseEvent):void {
var p1:Point = e.currentTarget.localToGlobal(newPoint(e.currentTarget.x, e.currentTarget.y));
var p2:Point = last.localToGlobal(new Point(last.x, last.y));
e.currentTarget.x = globalToLocal(p2).x;
e.currentTarget.y = globalToLocal(p2).y;
last.x = globalToLocal(p1).x;
last.y = globalToLocal(p1).y;
}
私が理解しているように、すべてのオブジェクトにはローカル位置とグローバル位置があります。したがって、ここではローカル位置をグローバルに変換し、他のオブジェクトをこの位置に移動するときに、ローカルに変換します。それらは同じ親に属しているため、座標が一致するはずですが、画像が飛び回り始めますあらゆる方向に、私は髪を引っ張り始めます。