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;

Sous-rubriques

Calcul de la distance entre deux points
Translation d'espaces de coordonnées
Déplacement d'un objet d'affichage d'une distance et d'un angle spécifiés
Autres utilisations de la classe Point

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 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);

Déplacement d'un objet d'affichage d'une distance et d'un angle spécifié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 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;

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.

Matrix

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.


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