Använda Point-objekt

Flash 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å punkter

Du 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 koordinatmodeller

Om 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äcka

Om 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 Point

Du kan använda Point-objekt med följande metoder och egenskaper:

Klass

Metoder eller egenskaper

Beskrivning

DisplayObjectContainer

areInaccessibleObjectsUnderPoint()getObjectsUnderPoint()

Används för att returnera en lista med objekt under en punkt i en visningsobjektsbehållare.

BitmapData

hitTest()

Används för att definiera pixlar i BitmapData-objektet samt punkten som du kontrollerar för händelsen.

BitmapData

applyFilter()

copyChannel()

merge()

paletteMap()

pixelDissolve()

threshold()

Används för att definiera positionen för de rektanglar som definierar operationen.

Matris

deltaTransformPoint()

transformPoint()

Används för att definiera punkter för vilka du vill tillämpa en omformning.

Rectangle

bottomRight

size

topLeft

Används för att definiera dessa egenskaper.