0

時間を割いて私の質問を読んでいただきありがとうございます。だから、私はステージに追加するムービークリップを持っています、その中に別のムービークリップのインスタンスがあります。もう1つの最初のムービークリップAを呼び出しましょう。2番目のインスタンス名はthingになります。私もです:

var a:A = new A();
stage.addChild(a);

そして、それは問題ありません。aの座標は問題ありませんが、a.thing.xは常にaからの距離に基づいています。ステージの座標系に表示するa.thing.xを作成する方法はありますか?私の質問を十分に明確にしたことを願っています。

4

1 に答える 1

0
// position in stage coordinate system
var targetAbsolutePoint:Point = new Point(100, 100);

// position in "a" MovieClip coordinate system
var targetRelativePoint:Point = a.globalToLocal(targetAbsolutePoint);

// set position
thing.x = targetRelativePoint.x;
thing.y = targetRelativePoint.y;

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html#globalToLocal%28%29

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html#localToGlobal%28%29

コメントであなたの質問に答えてください:

http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7df5.html

親表示オブジェクトの軸の0,0座標を基準にしたDisplayObjectの「x」および「y」プロパティ。

したがって、(10、50)ポイントにある「a」MovieClipと「a」MovieClip内の(20、40)ポイントにある「thing」MovieClipの場合、「thing」MovieClipの絶対座標を見つけるには、次のように計算する必要があります。

x ="a"MovieClipの"x"座標+"thing"MovieClipの"x"座標=10+ 20 = 30

y ="a"MovieClipの"y"座標+"thing"MovieClipの"y"座標=50+ 40 = 90

ただし、ネストされた親DisplayObjectがいくつかある可能性があるため、代わりにlocalToGlobalメソッドとglobalToLocalメソッドを使用します。

AbsoluteX=ムービークリップのx+ムービークリップの親のx+ムービークリップの親の親のxなど

より便利です

于 2013-01-13T14:23:43.933 に答える