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;

Unterthemen

Ermitteln des Abstands zwischen zwei Punkten
Übertragen von Koordinatenräumen
Verschieben eines Anzeigeobjekts um einen bestimmten Winkel und Abstand
Andere Verwendungen der Point-Klasse

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

Übertragen von Koordinatenräumen

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

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

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.


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