Verwenden von Point-ObjektenFlash 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 PunktenMithilfe 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äumenWenn 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 AbstandMithilfe 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-KlasseSie können Point-Objekte mit den folgenden Methoden und Eigenschaften verwenden:
|
|