Uso degli oggetti Point

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à.