Documentation Flash CS3 |
|||
| Programmation avec ActionScript 3.0 > Utilisation de la géométrie > Utilisation des objets Point | |||
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;
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);
Si deux objets d'affichage se trouvent dans des conteneurs d'objet d'affichage différents, il se peut qu'ils soient dans des espaces de coordonnées différents. 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(circle1.x, circle1.y); pt2 = circle2.localToGlobal(pt2); var distance:Number = Point.distance(pt1, pt2);
De même, pour rechercher la distance du point d'alignement d'un objet d'affichage nommé target à partir d'un point spécifique sur la scène, vous pouvez utiliser 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);
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 d'une distance de 100 pixels et d'un angle de 60 degrés :
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;
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 |
|
Utilisée pour renvoyer une liste d'objets sous un point dans un conteneur d'objet d'affichage. |
|
BitmapData |
|
Utilisée pour définir le pixel dans l'objet BitmapData ainsi que le point pour lequel vous recherchez une zone active. |
|
BitmapData |
|
Utilisée pour indiquer les positions des rectangles qui définissent les opérations. |
|
Matrix |
|
Utilisée pour définir des points auxquels vous souhaitez appliquer une transformation. |
|
Rectangle |
|
Utilisée pour définir ces propriétés. |
Flash CS3
M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire
Page en cours: http://livedocs.adobe.com/flash/9.0_fr/main/00000186.html