Flash Player 9 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures
Un objet
Point
définit une paire de coordonnées cartésiennes. Il représente un emplacement dans un système de coordonnées à deux dimensions, dans lequel
x
est l’axe horizontal et
y
l’axe vertical.
Pour définir un objet Point, vous définissez ses propriétés
x
et
y
comme suit :
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;
Calcul de la distance entre deux points
Vous pouvez utiliser la méthode
distance()
de la classe Point pour calculer la distance entre deux points dans un espace de coordonnées. Par exemple, le code suivant calcule la distance entre les points d’alignement de deux objets d’affichage,
circle1
et
circle2
, dans le même conteneur d’objet d’affichage :
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);
Translation d’espaces de coordonnées
Si deux objets d’affichage résident dans des conteneurs d’objet d’affichage distincts, ils peuvent figurer dans des espaces de coordonnées distincts. Vous pouvez utiliser la méthode
localToGlobal()
de la classe DisplayObject pour traduire les coordonnées dans le même espace de coordonnées (global), celui de la scène. Par exemple, le code suivant calcule la distance entre les points d’alignement de deux objets d’affichage,
circle1
et
circle2
, dans les différents conteneurs d’objet d’affichage :
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);
De même, pour calculer la distance du point d’alignement d’un objet d’affichage nommé
target
à partir d’un point spécifique de la scène, utilisez la méthode
localToGlobal()
de la classe 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);
Déplacement d’un objet d’affichage en fonction d’une distance et d’un angle donnés
Vous pouvez utiliser la méthode
polar()
de la classe Point pour déplacer un objet d’affichage d’une distance et d’un angle spécifiques. Par exemple, le code suivant déplace l’objet
myDisplayObject
en fonction d’une distance de 100 pixels et d’un angle de 60° :
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;
Autres utilisations de la classe Point
Vous pouvez utiliser des objets Point avec les propriétés et les méthodes suivantes :
Classe
|
Méthodes ou propriétés
|
Description
|
DisplayObjectContainer
|
areInaccessibleObjectsUnderPoint()getObjectsUnderPoint()
|
Utilisée pour renvoyer une liste d’objets sous un point dans un conteneur d’objet d’affichage.
|
BitmapData
|
hitTest()
|
Utilisée pour définir le pixel dans l’objet BitmapData ainsi que le point pour lequel vous recherchez une zone active.
|
BitmapData
|
applyFilter()
copyChannel()
merge()
paletteMap()
pixelDissolve()
threshold()
|
Utilisée pour indiquer les positions des rectangles qui définissent les opérations.
|
Matrice
|
deltaTransformPoint()
transformPoint()
|
Utilisée pour définir des points auxquels vous souhaitez appliquer une transformation.
|
Rectangle
|
bottomRight
size
topLeft
|
Utilisée pour définir ces propriétés.
|
|
|
|