Obiekt
Point
definiuje parę współrzędnych w układzie kartezjańskim. Reprezentuje miejsce w dwuwymiarowym układzie współrzędnych, gdzie
x
oznacza współrzędną poziomą, a
y
oznacza współrzędną pionową.
Aby zdefiniować obiekt Point, należy przypisać wartości jego właściwościom
x
i
y
w następujący sposób:
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;
Wyznaczanie odległości między dwoma punktami
Metoda
distance()
klasy Point umożliwia wyznaczenie odległości między dwoma punktami w przestrzeni współrzędnych. Na przykład poniższy kod wyznacza odległość między punktami rejestracji dwóch obiektów wyświetlanych,
circle1
i
circle2
, które są zawarte w tym samym obiekcie wyświetlanym (kontenerze):
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);
Translacja przestrzeni współrzędnych
Jeśli dwa obiekty wyświetlane znajdują się w różnych kontenerach (innych obiektach wyświetlanych), mogą przez to znajdować się w różnych przestrzeniach współrzędnych. Metoda
localToGlobal()
klasy DisplayObject umożliwia translację współrzędnych do tej samej (globalnej) przestrzeni współrzędnych, którą jest przestrzeń współrzędnych obiektu Stage. Na przykład poniższy kod wyznacza odległość między punktami rejestracji dwóch obiektów wyświetlanych,
circle1
i
circle2
, które są zawarte w różnych obiektach wyświetlanych (kontenerach):
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);
I podobnie — aby wyznaczyć odległość między punktem rejestracji obiektu wyświetlanego o nazwie
target
a konkretnym punktem na stole montażowym, można skorzystać z metody
localToGlobal()
klasy 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);
Przemieszczanie obiektu ekranowego o zadany kąt i ustaloną odległość
Metoda
polar()
klasy Point służy do przemieszczania obiektu wyświetlanego o określoną odległość w kierunku wyznaczonym przez określony kąt. Przykład: poniższy kod powoduje przemieszczenie obiektu
myDisplayObject
o 100 pikseli pod kątem 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;
Inne zastosowania klasy Point
Obiektów klasy Point można używać razem z następującymi metodami i właściwościami:
Klasa
|
Metody lub właściwości
|
Opis
|
DisplayObjectContainer
|
areInaccessibleObjectsUnderPoint()getObjectsUnderPoint()
|
Zwraca listę obiektów, które znajdują się pod określonym punktem w obiekcie wyświetlanym będącym kontenerem.
|
BitmapData
|
hitTest()
|
Służy do definiowania piksela w obiekcie BitmapData oraz punktu testowanego w celu wykrycia trafienia.
|
BitmapData
|
applyFilter()
copyChannel()
merge()
paletteMap()
pixelDissolve()
threshold()
|
Służy do definiowania położeń prostokątów definiujących operacje.
|
Macierz
|
deltaTransformPoint()
transformPoint()
|
Służy do definiowania punktów, do których ma być zastosowana transformacja.
|
Rectangle
|
bottomRight
size
topLeft
|
Służy do definiowania wartości tych właściwości.
|
|
|
|