0

displayObject のローカル ポイントをその親に変換する必要があるシナリオがいくつかあります。displayObject が回転またはスケーリングされていない場合、結果は簡単に計算されます。

var xAtParent:Number= displayObject.x+ localX; 
var yAtParent:Number= displayObject.y+ localY;
// where localX& localY are with respect to displayObject

ただし、displayObject が回転またはスケーリングされると、直接計算されないため、問題は、アクション スクリプト 3 にこの問題を解決するすぐに使用できるソリューションがあるかどうかです。

4

1 に答える 1

1

Flash は、アフィン ( Matrix ) 変換を使用した表示リストに基づいて構築されているため、使いやすい座標空間変換関数を提供します。src座標系から座標系に移動するには ( と の両方がステージ上にあるとdst仮定):srcdstDisplayObject

var p:Point = new Point(src_local_x, src_local_y);
p = src.localToGlobal(p);
p = dst.globalToLocal(p);
// p.x is dst_local_x
// p.y is dst_local_y

src他のdstオブジェクトのローカル座標空間にあるオブジェクトの境界を簡単に取得することもできます。

var dst_local_bounds:Rectangle = src.getBounds(dst);
于 2013-09-03T21:46:23.087 に答える