跳到主要内容

egret.Point

   egret

   public class Point

继承    egret.Point → egret.HashObject

Point 对象表示二维坐标系统中的某个位置,其中 x 表示水平轴,y 表示垂直轴。

公共属性

属性
length : number
从 (0,0) 到此点的线段长度
x : number
该点的水平坐标
y : number
该点的垂直坐标

公共方法

方法
Point(x:number,y:number)
创建一个 egret.Point 对象.若不传入任何参数,将会创建一个位于(0,0)位置的点
add(v:egret.Point):egret.Point
将另一个点的坐标添加到此点的坐标以创建一个新点
clone():egret.Point
克隆点对象
copyFrom(sourcePoint:egret.Point):void
将源 Point 对象中的所有点数据复制到调用方 Point 对象中
create(x:number,y:number):egret.Point
[静态]从对象池中取出或创建一个新的Point对象
distance(p1:egret.Point,p2:egret.Point):number
[静态]返回 pt1 和 pt2 之间的距离
equals(toCompare:egret.Point):boolean
确定两个点是否相同
interpolate(pt1:egret.Point,pt2:egret.Point,f:number):egret.Point
[静态]确定两个指定点之间的点
normalize(thickness:number):void
将 (0,0) 和当前点之间的线段缩放为设定的长度
offset(dx:number,dy:number):void
按指定量偏移 Point 对象
polar(len:number,angle:number):egret.Point
[静态]将一对极坐标转换为笛卡尔点坐标
release(point:egret.Point):void
[静态]释放一个Point实例到对象池
setTo(x:number,y:number):egret.Point
将 Point 的成员设置为指定值
subtract(v:egret.Point):egret.Point
从此点的坐标中减去另一个点的坐标以创建一个新点

属性详细信息

length

length : number

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

从 (0,0) 到此点的线段长度。

x

x : number = 0

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

该点的水平坐标。

y

y : number = 0

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

该点的垂直坐标。

方法详细信息

Point()

public Point(x:number,y:number)

创建一个 egret.Point 对象.若不传入任何参数,将会创建一个位于(0,0)位置的点。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • x:number - 该对象的x属性值,默认为0
    • y:number - 该对象的y属性值,默认为0

add()

public add(v:egret.Point):egret.Point

将另一个点的坐标添加到此点的坐标以创建一个新点。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

  • 返回:新点。

clone()

public clone():egret.Point

克隆点对象

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

copyFrom()

public copyFrom(sourcePoint:egret.Point):void

将源 Point 对象中的所有点数据复制到调用方 Point 对象中。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • sourcePoint:egret.Point - 要从中复制数据的 Point 对象。

create()

public create(x:number,y:number):egret.Point

从对象池中取出或创建一个新的Point对象。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • x:number - 该对象的x属性值,默认为0
    • y:number - 该对象的y属性值,默认为0

distance()

public distance(p1:egret.Point,p2:egret.Point):number

返回 pt1 和 pt2 之间的距离。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

  • 返回:第一个点和第二个点之间的距离。

equals()

public equals(toCompare:egret.Point):boolean

确定两个点是否相同。如果两个点具有相同的 x 和 y 值,则它们是相同的点。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

  • 返回:如果该对象与此 Point 对象相同,则为 true 值,如果不相同,则为 false。

interpolate()

public interpolate(pt1:egret.Point,pt2:egret.Point,f:number):egret.Point

确定两个指定点之间的点。参数 f 确定新的内插点相对于参数 pt1 和 pt2 指定的两个端点所处的位置。参数 f 的值越接近 1.0,则内插点就越接近第一个点(参数 pt1)。参数 f 的值越接近 0,则内插点就越接近第二个点(参数 pt2)。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • pt1:egret.Point - 第一个点。
    • pt2:egret.Point - 第二个点。
    • f:number - 两个点之间的内插级别。表示新点将位于 pt1 和 pt2 连成的直线上的什么位置。如果 f=1,则返回 pt1;如果 f=0,则返回 pt2。
  • 返回:新的内插点。

normalize()

public normalize(thickness:number):void

将 (0,0) 和当前点之间的线段缩放为设定的长度。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • thickness:number - 缩放值。例如,如果当前点为 (0,5) 并且您将它规范化为 1,则返回的点位于 (0,1) 处。

offset()

public offset(dx:number,dy:number):void

按指定量偏移 Point 对象。dx 的值将添加到 x 的原始值中以创建新的 x 值。dy 的值将添加到 y 的原始值中以创建新的 y 值。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • dx:number - 水平坐标 x 的偏移量。
    • dy:number - 水平坐标 y 的偏移量。

polar()

public polar(len:number,angle:number):egret.Point

将一对极坐标转换为笛卡尔点坐标。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • len:number - 极坐标对的长度。
    • angle:number - 极坐标对的角度(以弧度表示)。

release()

public release(point:egret.Point):void

释放一个Point实例到对象池

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数

setTo()

public setTo(x:number,y:number):egret.Point

将 Point 的成员设置为指定值

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • x:number - 该对象的x属性值
    • y:number - 该对象的y属性值

subtract()

public subtract(v:egret.Point):egret.Point

从此点的坐标中减去另一个点的坐标以创建一个新点。

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

  • 返回:新点。

示例


/*
* 下面的示例使用 PointExample 类在不同的 x,y 坐标处创建多个新 Point 对象,然后使用 egret.log() 方法输出各种类方法的结果。
*/
class PointExample extends egret.DisplayObjectContainer {
public constructor() {
super();
var point1:egret.Point = new egret.Point();
egret.log(point1.toString()); // (x=0, y=0)
var point2:egret.Point = new egret.Point(6, 8);
egret.log(point2.toString()); // (x=6, y=8)
egret.log(egret.Point.interpolate(point1, point2, 0.5).toString()); // (x=3, y=4)
egret.log(egret.Point.distance(point1, point2)); // 10
egret.log(point1.add(point2).toString()); // (x=6, y=8)
var point3:egret.Point = point2.clone();
egret.log(point2.equals(point3)); // true
point3.normalize(2.5);
egret.log(point3.toString()); // (x=1.5, y=2)
egret.log(point2.subtract(point3).toString()); // (x=4.5, y=6)
point1.offset(2, 3);
egret.log(point1.toString()); // (x=2, y=3)
var angle:number = Math.PI * 2 * (30 / 360); // 30 degrees
egret.log(egret.Point.polar(4, angle).toString()); // (x=3.464101615137755, y=1.9999999999999996)
}
}