Flash 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 punti
Usate 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 coordinate
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);
Spostamento di un oggetto di visualizzazione della distanza e inclinazione specificate
Usate 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 Point
Gli oggetti Point possono essere associati ai seguenti metodi e proprietà:
Classe
|
Metodi o proprietà
|
Descrizione
|
DisplayObjectContainer
|
areInaccessibleObjectsUnderPoint()getObjectsUnderPoint()
|
Restituisce un elenco di oggetti sotto un punto all'interno di un contenitore di oggetto di visualizzazione.
|
BitmapData
|
hitTest()
|
Permette di definire il pixel nell'oggetto BitmapData e il punto in cui si sta cercando un'attivazione.
|
BitmapData
|
applyFilter()
copyChannel()
merge()
paletteMap()
pixelDissolve()
threshold()
|
Definisce le posizioni dei rettangoli che definiscono le operazioni.
|
Matrix
|
deltaTransformPoint()
transformPoint()
|
Permette di definire i punti a cui applicare una trasformazione.
|
Rectangle
|
bottomRight
size
topLeft
|
Definisce queste proprietà.
|
|
|
|