Använda Point-objektFlash Player 9 och senare, Adobe AIR 1.0 och senare Ett Point-objekt definierar ett kartesiskt koordinatpar. Det representerar en plats i ett tvådimensionellt koordinatsystem där x representerar den vågräta axeln och y den lodräta. Du definierar ett Point-objekt genom att ange x- och y-egenskaperna enligt följande: 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; Hitta rätt avstånd mellan två punkterDu använder metoden distance() i klassen Point för att finna rätt avstånd mellan två punkter i en koordinatmodell. I nästa exempel hittas avståndet mellan registreringspunkterna för två objekt, circle1 och circle2, i samma visningsobjektsbehållare: 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); Översättning av koordinatmodellerOm det finns två visningsobjekt i olika visningsobjektsbehållare kan de finnas i olika koordinatmodeller. Du använder metoden localToGlobal() i klassen DisplayObject för att översätta koordinaterna till samma (globala) koordinatmodell som på scenen. I nästa exempel hittas avståndet mellan registreringspunkterna för två objekt, circle1 och circle2, i olika visningsobjektsbehållare: 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); Du kan på liknande sätt hitta avståndet till registreringspunkten för ett visningsobjekt med namnet target från en viss punkt på scenen genom att använda metoden localToGlobal() i klassen DisplayObject: 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); Flytta ett visningsobjekt ett visst antal grader och en viss sträckaOm du använder metoden polar() i klassen Point kan du flytta ett visningsobjekt en viss sträcka i en viss vinkel. I nästa exempel flyttas objektet myDisplayObject 100 pixlar i 60 grader: 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; Andra användningsområden för klassen PointDu kan använda Point-objekt med följande metoder och egenskaper:
|
|