Uso degli oggetti PointFlash Player 9 e versioni successive, Adobe AIR 1.0 e versioni successive Un oggetto Point definisce una coppia di coordinate cartesiane. che rappresentano una posizione in un sistema di coordinate bidimensionale, dove x rappresenta l'asse orizzontale e y rappresenta l'asse verticale. Per definire un oggetto Point è necessario impostarne le proprietà x e y come segue: import flash.geom.*; var pt1:Point = new Point(10, 20); // x == 10; y == 20 var pt2:Point = new Point(); pt2.x = 10; pt2.y = 20; Calcolo della distanza tra due puntiUsate il metodo distance() della classe Point per calcolare la distanza tra due punti in uno spazio di coordinate. Ad esempio, il codice seguente calcola la distanza tra i punti di registrazione dei due oggetti di visualizzazione, circle1 e circle2, che risiedono nello stesso contenitore di oggetto di visualizzazione: import flash.geom.*; var pt1:Point = new Point(circle1.x, circle1.y); var pt2:Point = new Point(circle2.x, circle2.y); var distance:Number = Point.distance(pt1, pt2); Conversione degli spazi di coordinateSe 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); Spostamento di un oggetto di visualizzazione della distanza e inclinazione specificateUsate il metodo polar() della classe Point per spostare un oggetto di visualizzazione in base al valore di distanza e inclinazione specificate. Ad esempio, il codice seguente sposta l'oggetto myDisplayObject di 100 pixel per 60°: import flash.geom.*; var distance:Number = 100; var angle:Number = 2 * Math.PI * (90 / 360); var translatePoint:Point = Point.polar(distance, angle); myDisplayObject.x += translatePoint.x; myDisplayObject.y += translatePoint.y; Altri impieghi della classe PointGli oggetti Point possono essere associati ai seguenti metodi e proprietà:
|
|