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)位置的点。
add()
public add(v:egret.Point):egret.Point
将另一个点的坐标添加到此点的坐标以创建一个新点。
支持版本:Egret 2.4
运行平台:Web,Native
参数
- v:egret.Point - 要添加的点。
返回:新点。
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对象。
distance()
public distance(p1:egret.Point,p2:egret.Point):number
返回 pt1 和 pt2 之间的距离。
支持版本:Egret 2.4
运行平台:Web,Native
参数
- p1:egret.Point - 第一个点
- p2:egret.Point - 第二个点
返回:第一个点和第二个点之间的距离。
equals()
public equals(toCompare:egret.Point):boolean
确定两个点是否相同。如果两个点具有相同的 x 和 y 值,则它们是相同的点。
支持版本:Egret 2.4
运行平台:Web,Native
参数
- toCompare:egret.Point - 要比较的点。
返回:如果该对象与此 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 值。
polar()
public polar(len:number,angle:number):egret.Point
将一对极坐标转换为笛卡尔点坐标。
release()
public release(point:egret.Point):void
释放一个Point实例到对象池
- 支持版本:Egret 2.4
- 运行平台:Web,Native
- 参数
- point:egret.Point
setTo()
public setTo(x:number,y:number):egret.Point
将 Point 的成员设置为指定值
subtract()
public subtract(v:egret.Point):egret.Point
从此点的坐标中减去另一个点的坐标以创建一个新点。
支持版本:Egret 2.4
运行平台:Web,Native
参数
- v:egret.Point - 要减去的点。
返回:新点。
示例
/*
* 下面的示例使用 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)
}
}