Использование объектов PointFlash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий Точечный объект Point определяется парой декартовых координат. Он представляет точку в двумерной системе координат, где x является значением по горизонтальной оси, а y — значением по вертикальной оси. Для определения объекта Point необходимо задать его свойства x и y следующим образом: 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; Определение расстояния между двумя точкамиВ классе Point для нахождения расстояния между двумя точками в координатном пространстве используется метод distance(). Например, следующий код позволяет найти расстояние между точками регистрации двух экранных объектов circle1 и circle2, расположенных в одном контейнере: 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); Перемещение координатных пространствЕсли два экранных объекта находятся в различных контейнерах, они могут быть в различных координатных пространствах. Для класса DisplayObject можно использовать метод localToGlobal() для перевода координат в единое (глобальное) координатное пространство, применяемое для рабочей области. Например, следующий код позволяет найти расстояние между точками регистрации двух экранных объектов circle1 и circle2, расположенных в различных контейнерах: 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); Аналогичным образом можно найти расстояние от точки регистрации экранного объекта target до заданной точки рабочей области, используя метод localToGlobal() класса 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); Перемещение экранного объекта на заданный угол и расстояниеДля перемещения экранного объекта на заданный угол и расстояние можно использовать метод polar() из класса Point. Например, следующий код позволяет переместить объект myDisplayObject на 100 пикселов и 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; Другое использование класса PointОбъекты Point можно использовать со следующими функциями и свойствами.
|
|