Verwenden von Point-Objekten

Flash Player 9 und höher, Adobe AIR 1.0 und höher

Ein Point -Objekt definiert ein Paar kartesischer Koordinaten. Es gibt eine Position in einem zweidimensionalen Koordinatensystem an, in dem x die horizontale Achse und y die vertikale Achse darstellt.

Ein Point-Objekt wird durch Festlegen der entsprechenden x -Eigenschaft und y -Eigenschaft definiert:

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;

Ermitteln des Abstands zwischen zwei Punkten

Mithilfe der distance() -Methode der Point-Klasse können Sie den Abstand zwischen zwei Punkten in einem Koordinatenraum ermitteln. Mit dem folgenden Code wird beispielsweise der Abstand zwischen den Registrierungspunkten der beiden Anzeigeobjekte circle1 und circle2 im gleichen Anzeigeobjektcontainer ermittelt:

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);

Versetzen von Koordinatenräumen

Wenn zwei Anzeigeobjekte in verschiedenen Anzeigeobjektcontainern enthalten sind, können sie sich in verschiedenen Koordinatenräumen befinden. Mithilfe der localToGlobal() -Methode der DisplayObject-Klasse können Sie die Koordinaten in den gleichen (globalen) Koordinatenraum versetzen, d. h. in den Koordinatenraum der Bühne. Mit dem folgenden Code wird beispielsweise der Abstand zwischen den Registrierungspunkten der beiden Anzeigeobjekte circle1 und circle2 in zwei verschiedenen Anzeigeobjektcontainern ermittelt:

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);

Ebenso können Sie den Abstand zwischen dem Registrierungspunkt des Anzeigeobjekts target und einem bestimmten Punkt auf der Bühne mithilfe der localToGlobal() -Methode der DisplayObject-Klasse ermitteln:

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);

Verschieben eines Anzeigeobjekts um einen bestimmten Winkel und Abstand

Mithilfe der polar() -Methode der Point-Klasse können Sie ein Anzeigeobjekt in einem bestimmten Winkel um einen bestimmten Abstand verschieben. Mit dem folgenden Code wird das myDisplayObject -Objekt beispielsweise um 100 Pixel im Winkel von 60° verschoben:

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 Verwendungen der Point-Klasse

Sie können Point-Objekte mit den folgenden Methoden und Eigenschaften verwenden:

Klasse

Methoden oder Eigenschaften

Beschreibung

DisplayObjectContainer

areInaccessibleObjectsUnderPoint()getObjectsUnderPoint()

Wird zum Zurückgeben einer Liste mit Objekten an einem bestimmten Punkt in einem Anzeigeobjektcontainer verwendet.

BitmapData

hitTest()

Wird zum Definieren der Pixel im BitmapData-Objekt und des Punktes verwendet, der auf Übereinstimmung geprüft wird.

BitmapData

applyFilter()

copyChannel()

merge()

paletteMap()

pixelDissolve()

threshold()

Wird zum Festlegen der Position von Rechtecken verwendet, mit denen Operationen definiert werden.

Matrix

deltaTransformPoint()

transformPoint()

Wird zum Definieren von Punkten verwendet, auf die eine Transformation angewendet werden soll.

Rectangle

bottomRight

size

topLeft

Wird zum Definieren der Eigenschaften verwendet.