Ellipse

.Curves. Ellipse

从基本曲线类派生的椭圆曲线. 详情请见https://en.wikipedia.org/wiki/Elliptic_curve.

Constructor

new Ellipse(xopt, yopt, xRadiusopt, yRadiusopt, startAngleopt, endAngleopt, clockwiseopt, rotationopt)

Since:
  • 3.0.0
Parameters:
Name Type Attributes Default Description
x number | Phaser.Types.Curves.EllipseCurveConfig <optional>
0 椭圆或椭圆曲线配置对象的x坐标.
y number <optional>
0 椭圆的y坐标.
xRadius number <optional>
0 椭圆的水平半径.
yRadius number <optional>
0 椭圆的垂直半径.
startAngle number <optional>
0 椭圆的起始角度,以度为单位.
endAngle number <optional>
360 椭圆的结束角度,以度为单位.
clockwise boolean <optional>
false Whether the ellipse angles are given as clockwise (`true`) or counter-clockwise (`false`).
rotation number <optional>
0 椭圆的旋转,单位为度.

Extends

Members

active :boolean

Since:
  • 3.0.0
Inherited From:
Default Value:
  • true
对于路径上的曲线, `false` 表示路径将忽略该曲线.
Type:
  • boolean

angle :number

Since:
  • 3.14.0
椭圆相对于中心的旋转,单位为度.
Type:
  • number

arcLengthDivisions :number

Since:
  • 3.0.0
Inherited From:
Default Value:
  • 100
曲线内弧长分割的数量.
Type:
  • number

cacheArcLengths :Array.<number>

Since:
  • 3.0.0
Inherited From:
Default Value:
  • []
缓存弧长值的数组.
Type:
  • Array.<number>

clockwise :boolean

Since:
  • 3.0.0
如果椭圆顺时针旋转,则为 `true` ;如果逆时针旋转,则为 `false` .
Type:
  • boolean

defaultDivisions :number

Since:
  • 3.0.0
Inherited From:
Default Value:
  • 5
曲线内的默认分割数.
Type:
  • number

endAngle :number

Since:
  • 3.0.0
椭圆的结束角度,单位为度.
Type:
  • number

needsUpdate :boolean

Since:
  • 3.0.0
Inherited From:
Default Value:
  • true
这条曲线的数据需要更新吗?
Type:
  • boolean

p0 :Phaser.Math.Vector2

Since:
  • 3.0.0
椭圆的中心点.用于计算旋转.
Type:

rotation :number

Since:
  • 3.0.0
椭圆相对于中心的旋转,单位为弧度.
Type:
  • number

startAngle :number

Since:
  • 3.0.0
椭圆的起始角度,单位为度.
Type:
  • number

type :string

Since:
  • 3.0.0
Inherited From:
曲线类型的基于字符串的标识符.
Type:
  • string

x :number

Since:
  • 3.0.0
椭圆中心的x坐标.
Type:
  • number

xRadius :number

Since:
  • 3.0.0
椭圆的水平半径.
Type:
  • number

y :number

Since:
  • 3.0.0
椭圆中心的y坐标.
Type:
  • number

yRadius :number

Since:
  • 3.0.0
椭圆的垂直半径.
Type:
  • number

Methods

(static) fromJSON(data) → {Phaser.Curves.Ellipse}

Since:
  • 3.0.0
从提供的椭圆曲线配置对象创建曲线.
Parameters:
Name Type Description
data Phaser.Types.Curves.JSONEllipseCurve 包含该曲线数据的JSON对象.
Returns:
从配置对象构造的椭圆曲线.
Type
Phaser.Curves.Ellipse

draw(graphics, pointsTotalopt) → {Phaser.GameObjects.Graphics}

Since:
  • 3.0.0
Inherited From:
在给定的图形对象上绘制这条曲线. 该曲线是使用 `Graphics.strokePoints` 绘制的,因此无论当前的图形笔画颜色是什么,都将被绘制. 绘图前图形对象未被清除,因此曲线将显示在已渲染的任何对象之上.
Parameters:
Name Type Attributes Default Description
graphics Phaser.GameObjects.Graphics 将在其上绘制该曲线的图形实例.
pointsTotal number <optional>
32 曲线的分辨率.值越高,渲染越平滑,但代价是渲染性能.
Returns:
绘制曲线的图形对象.
Type
Phaser.GameObjects.Graphics

getBounds(outopt, accuracyopt) → {Phaser.Geom.Rectangle}

Since:
  • 3.0.0
Inherited From:
返回一个矩形,其位置和尺寸与该曲线的边界相匹配. 你可以控制边界的准确性.给定的值用来算出有多少个点 画出曲线.以计算速度为代价,值越高越精确.
Parameters:
Name Type Attributes Default Description
out Phaser.Geom.Rectangle <optional>
存储边界的矩形.如果为假,将创建一个新对象.
accuracy number <optional>
16 界限计算的准确性.
Returns:
保持该曲线边界的矩形对象.如果给了 `out` ,它将是这个对象.
Type
Phaser.Geom.Rectangle

getDistancePoints(distance) → {Array.<Phaser.Geom.Point>}

Since:
  • 3.0.0
Inherited From:
返回一个点数组,间隔X个像素. 距离越小,数组就越大.
Parameters:
Name Type Description
distance number 曲线上各点之间的距离,以像素为单位.
Returns:
点对象的数组.
Type
Array.<Phaser.Geom.Point>

getEndPoint(outopt) → {Phaser.Math.Vector2}

Since:
  • 3.0.0
Inherited From:
在曲线的末端得到一个点.
Parameters:
Name Type Attributes Description
out Phaser.Math.Vector2 <optional>
存储结果的可选矢量对象.
Returns:
包含曲线端点坐标的向量2.
Type
Phaser.Math.Vector2

getLength() → {number}

Since:
  • 3.0.0
Inherited From:
获取总曲线弧长
Returns:
曲线的总长度.
Type
number

getLengths(divisionsopt) → {Array.<number>}

Since:
  • 3.0.0
Inherited From:
获取累积段长度列表. 这些长度是 - [0] 0 - [1] 第一段 - [2] 第一和第二段 - ... - [部门]所有部门
Parameters:
Name Type Attributes Description
divisions number <optional>
分部或段的数量.
Returns:
累积长度的数组.
Type
Array.<number>

getPoint(t, outopt) → {Phaser.Math.Vector2}

Since:
  • 3.0.0
根据长度在曲线的相对位置取点.
Parameters:
Name Type Attributes Description
t number 沿曲线返回的位置.其中0是起点,1是终点.
out Phaser.Math.Vector2 <optional>
存储结果的Vector2对象.如果没有给出将被创建.
Returns:
曲线上该点的坐标.如果给定了一个 `out` 对象,将返回该对象.
Type
Phaser.Math.Vector2

getPointAt(u, outopt) → {Phaser.Math.Vector2}

Since:
  • 3.0.0
Inherited From:
通过弧长在曲线上的相对位置获得一个点.
Parameters:
Name Type Attributes Description
u number 相对位置,[0..1].
out Phaser.Math.Vector2 <optional>
存储结果的点.
Returns:
重点.
Type
Phaser.Math.Vector2

getPoints(divisionsopt, stepRateopt, outopt) → {array|Array.<Phaser.Math.Vector2>}

Since:
  • 3.0.0
Inherited From:
从曲线上获得一系列均匀间隔的点. 你可以通过 `divisions` , `stepRate` ,或者都不通过. 分部的数量将为 1. `divisions`, if `divisions` > 0; or 2. `this.getLength / stepRate`, if `stepRate` > 0; or 3. `this.defaultDivisions` `1 + divisions` 积分将被退回.
Parameters:
Name Type Attributes Description
divisions number <optional>
要进行的划分的数量.
stepRate number <optional>
点与点之间的曲线距离,表示 `divisions` .
out array | Array.<Phaser.Math.Vector2> <optional>
存储点的可选数组.
Returns:
曲线上的一组点.
Type
array | Array.<Phaser.Math.Vector2>

getRandomPoint(outopt) → {Phaser.Math.Vector2}

Since:
  • 3.0.0
Inherited From:
从曲线中得到一个随机点.
Parameters:
Name Type Attributes Description
out Phaser.Math.Vector2 <optional>
存储结果的点对象.
Returns:
重点.
Type
Phaser.Math.Vector2

getResolution(divisions) → {number}

Since:
  • 3.0.0
得到曲线的分辨率.
Parameters:
Name Type Description
divisions number 可选除法值.
Returns:
曲线分辨率.
Type
number

getSpacedPoints(divisionsopt, stepRateopt, outopt) → {Array.<Phaser.Math.Vector2>}

Since:
  • 3.0.0
Inherited From:
从曲线上获得一系列等距点(按弧线距离). `1 + divisions` 积分将被退回.
Parameters:
Name Type Attributes Default Description
divisions number <optional>