Een
Point
-object definieert een Cartesisch-coördinatenpaar. Het vertegenwoordigt een locatie in een tweedimensionaal coördinatensysteem waarbij
x
de horizontale as vertegenwoordigt en
y
de verticale as.
U definieert een object Point door de eigenschappen
x
en
y
ervan als volgt te definiëren:
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;
De afstand tussen twee punten herleiden
U kunt de methode
distance()
van de klasse Point gebruiken om de afstand tussen twee punten in een coördinaatruimte te herleiden. Met de volgende code wordt de afstand herleid tussen de registratiepunten van twee weergaveobjecten,
circle1
en
circle2
, in dezelfde weergaveobjectcontainer:
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);
Coördinaatruimten transleren
Als twee weergaveobjecten zich in verschillende objectcontainers bevinden, kunnen ze zich in verschillende coördinaatruimten bevinden. U kunt de methode
localToGlobal()
van de klasse DisplayObject gebruiken om de coördinaten naar dezelfde (algemene) coördinaatruimte te transleren, die van het werkgebied. Met de volgende code wordt de afstand gevonden tussen de registratiepunten van twee weergaveobjecten,
circle1
en
circle2
, in de verschillende weergaveobjectcontainers:
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);
U kunt de methode
localToGlobal()
van de klasse DisplayObject ook gebruiken om erachter te komen wat de afstand is tussen het registratiepunt van een weergaveobject met de naam
target
en een specifiek punt in het werkgebied:
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);
Een weergaveobject verplaatsen met een opgegeven hoek en afstand
U kunt de methode
polar()
van de klasse Point gebruiken om een weergaveobject een bepaalde afstand onder een bepaalde hoek te verplaatsen. Met de volgende code wordt bijvoorbeeld het object
myDisplayObject
met 100 pixels en een hoek van 60 graden verplaatst:
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;
Andere toepassingen van de klasse Point
U kunt Point-objecten gebruiken met de volgende methoden en eigenschappen:
Klasse
|
Methoden of eigenschappen
|
Beschrijving
|
DisplayObjectContainer
|
areInaccessibleObjectsUnderPoint()getObjectsUnderPoint()
|
Hiermee wordt een lijst met objecten onder een punt in een weergaveobjectcontainer geretourneerd.
|
BitmapData
|
hitTest()
|
Hiermee definieert u de pixel in het object BitmapData plus het punt dat u controleert als raakgebied.
|
BitmapData
|
applyFilter()
copyChannel()
merge()
paletteMap()
pixelDissolve()
threshold()
|
Hiermee definieert u de posities van rechthoeken die de bewerkingen definiëren.
|
Matrix
|
deltaTransformPoint()
transformPoint()
|
Hiermee definieert u punten waarvoor u een transformatie wilt toepassen.
|
Rechthoek
|
bottomRight
size
topLeft
|
Hiermee definieert u deze eigenschappen.
|
|
|
|