Un objeto
Point
define un par cartesiano de coordenadas. Representa una ubicación en un sistema de coordenadas bidimensional, en el que
x
representa el eje horizontal e
y
representa el eje vertical.
Para definir un objeto Point, se establecen sus propiedades
x
e
y
del siguiente modo:
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;
Cálculo de la distancia entre dos puntos
Se puede usar el método
distance()
de la clase Point para calcular la distancia entre dos puntos en un espacio de coordenadas. Por ejemplo, el código siguiente calcula la distancia entre los puntos de registro de dos objetos de visualización,
circle1
y
circle2
, en el mismo contenedor de objetos de visualización:
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);
Traslación de los espacios de coordenadas
Si dos objetos de visualización se encuentran en diferentes contenedores, es posible que se ubiquen en distintos espacios de coordenadas. Se puede usar el método
localToGlobal()
de la clase DisplayObject para trasladar las coordenadas al mismo espacio de coordenadas (global), es decir, el del escenario. Por ejemplo, el código siguiente calcula la distancia entre los puntos de registro de dos objetos de visualización,
circle1
y
circle2
, en diferentes contenedores de objetos de visualización:
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);
Asimismo, para calcular la distancia del punto de registro de un objeto de visualización denominado
target
con respecto a un punto específico del escenario, se puede usar el método
localToGlobal()
de la clase 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);
Desplazamiento de un objeto de visualización con un ángulo y una distancia especificados
Se puede usar el método
polar()
de la clase Point para desplazar un objeto de visualización una distancia específica con un ángulo determinado. Por ejemplo, el código siguiente desplaza el objeto
myDisplayObject
100 píxeles por 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;
Otros usos de la clase Point
Los objetos Point se pueden usar con los métodos y las propiedades siguientes:
Clase
|
Métodos o propiedades
|
Descripción
|
DisplayObjectContainer
|
areInaccessibleObjectsUnderPoint()getObjectsUnderPoint()
|
Se usa para devolver una lista de objetos bajo un punto en un contenedor de objetos de visualización.
|
BitmapData
|
hitTest()
|
Se usa para definir el píxel en el objeto BitmapData, así como el punto en el que se busca una zona activa.
|
BitmapData
|
applyFilter()
copyChannel()
merge()
paletteMap()
pixelDissolve()
threshold()
|
Se usa para definir las posiciones de los rectángulos que definen las operaciones.
|
Matrix
|
deltaTransformPoint()
transformPoint()
|
Se usa para definir los puntos para los que se desea aplicar una transformación.
|
Rectangle
|
bottomRight
size
topLeft
|
Se usa para definir estas propiedades.
|
|
|
|