使用 Point 对象Flash 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 的显示对象的注册点与舞台上特定点间的距离,请使用 DisplayObject 类的 localToGlobal() 方法: 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); 按指定的角度和距离移动显示对象您可以使用 Point 类的 polar() 方法将显示对象按特定角度移动特定距离。例如,下列代码按 60° 角度将 myDisplayObject 对象移动 100 像素: 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 对象用于以下方法和属性:
|
|