Flash CS3-Dokumentation |
|||
| Programmieren mit ActionScript 3.0 > Verwenden von geometrischen Objekten > Verwenden von Point-Objekten | |||
Ein Point-Objekt definiert ein kartesisches Koordinatenpaar. 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;
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);
Wenn sich zwei Anzeigeobjekte in verschiedenen Anzeigeobjektcontainern befinden, sind sie möglicherweise in verschiedenen Koordinatenräumen positioniert. Mithilfe der localToGlobal()-Methode der DisplayObject-Klasse können Sie die Koordinaten in den gleichen (globalen) Koordinatenraum übertragen, 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(circle1.x, circle1.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);
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 Grad 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;
Sie können Point-Objekte mit den folgenden Methoden und Eigenschaften verwenden:
|
Klasse |
Methoden oder Eigenschaften |
Beschreibung |
|---|---|---|
|
DisplayObjectContainer |
|
Wird zum Zurückgeben einer Liste mit Objekten an einem bestimmten Punkt in einem Anzeigeobjektcontainer verwendet. |
|
BitmapData |
|
Wird zum Definieren der Pixel im BitmapData-Objekt und des Punktes verwendet, der auf Übereinstimmung geprüft wird. |
|
BitmapData |
|
Wird zum Festlegen der Position von Rechtecken verwendet, mit denen Operationen definiert werden. |
|
Matrix |
|
Wird zum Definieren von Punkten verwendet, auf die eine Transformation angewendet werden soll. |
|
Rectangle |
|
Wird zum Definieren der Eigenschaften verwendet. |
Flash CS3
Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht
Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/main/00000186.html