Korzystanie z obiektów Point

Flash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje

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.