Se due oggetti di visualizzazione si trovano in diversi contenitori di oggetti di visualizzazione, è possibile che anche i loro spazi di coordinate differiscano. Usate il metodo
localToGlobal()
della classe DisplayObject per convertire le coordinate nello stesso spazio di coordinate (globale), quello dello Stage. Ad esempio, il codice seguente calcola la distanza tra i punti di registrazione dei due oggetti di visualizzazione,
circle1
e
circle2
, che risiedono in contenitori di oggetto di visualizzazione diversi:
import flash.geom.*;
var pt1:Point = new Point(circle1.x, circle1.y);
pt1 = circle1.localToGlobal(pt1);
var pt2:Point = new Point(circle2.x, circle2.y);
pt2 = circle2.localToGlobal(pt2);
var distance:Number = Point.distance(pt1, pt2);
Analogamente, per calcolare la distanza del punto di registrazione di un oggetto di visualizzazione denominato
target
rispetto a un punto specifico dello Stage, potete usare il metodo
localToGlobal()
della classe DisplayObject:
import flash.geom.*;
var stageCenter:Point = new Point();
stageCenter.x = this.stage.stageWidth / 2;
stageCenter.y = this.stage.stageHeight / 2;
var targetCenter:Point = new Point(target.x, target.y);
targetCenter = target.localToGlobal(targetCenter);
var distance:Number = Point.distance(stageCenter, targetCenter);