Uso de objetos PointFlash Player 9 e posterior, Adobe AIR 1.0 e posterior O objeto Point define um par de coordenadas Cartesianas. Ele representa um local em um sistema de coordenadas bidimensional, em que x representa o eixo horizontal e y, o vertical. Para definir um objeto Point, defina as propriedades de x e y da seguinte forma: 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; Cálculo da distância entre dois pontosVocê pode usar o método distance() da classe Point para calcular a distância entre dois pontos em um espaço de coordenadas. Por exemplo, o código a seguir calcula a distância entre os pontos de registro de dois objetos de exibição, circle1 e circle2, no mesmo contêiner de objetos de exibição: 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); Transposição de espaços de coordenadasSe dois objetos de exibição estiverem em contêineres de objetos de exibição diferentes, talvez estejam em espaços de coordenadas diferentes. Você pode usar o método localToGlobal() da classe DisplayObject para transpor as coordenadas para o mesmo espaço de coordenadas (global) que o Palco. Por exemplo, o código a seguir calcula a distância entre os pontos de registro de dois objetos de exibição, circle1 e circle2, em contêineres de objetos de exibição diferentes: 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); Da mesma forma, para calcular a distância do ponto de registro de um objeto de exibição chamado target a partir de um ponto específico no palco, use o método localToGlobal() da 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); Mover um objeto de exibição usando um ângulo e uma distância especificadosVocê pode usar o método polar() da classe Point para mover um objeto de exibição a uma distância específica em um ângulo específico. Por exemplo, o código a seguir move o objeto myDisplayObject 100 pixels em 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; Outros usos da classe PointÉ possível usar os objetos Point com os seguintes métodos e propriedades:
|
![]() |