CubicBezier

.Curves. CubicBezier

由四个点构成的高阶贝塞尔曲线.

Constructor

new CubicBezier(p0, p1, p2, p3)

Since:
  • 3.0.0
Parameters:
Name Type Description
p0 Phaser.Math.Vector2 | Array.<Phaser.Math.Vector2> 起点,或点对数组.
p1 Phaser.Math.Vector2 控制点1.
p2 Phaser.Math.Vector2 控制点2.
p3 Phaser.Math.Vector2 终点.

Extends

Members

active :boolean

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

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>

defaultDivisions :number

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

needsUpdate :boolean

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

p0 :Phaser.Math.Vector2

Since:
  • 3.0.0
这条曲线的起点.
Type:

p1 :Phaser.Math.Vector2

Since:
  • 3.0.0
这条曲线的第一个控制点.
Type:

p2 :Phaser.Math.Vector2

Since:
  • 3.0.0
这条曲线的第二个控制点.
Type:

p3 :Phaser.Math.Vector2

Since:
  • 3.0.0
这条曲线的终点.
Type:

type :string

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

Methods

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

Since:
  • 3.0.0
从JSON对象生成曲线.
Parameters:
Name Type Description
data Phaser.Types.Curves.JSONCurve 包含该曲线数据的JSON对象.
Returns:
JSON对象生成的曲线.
Type
Phaser.Curves.CubicBezier

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

Since:
  • 3.0.0
Overrides:
将此曲线绘制到指定的图形对象.
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>
this.defaultDivisions 要进行的划分的数量.
stepRate number <optional>
点与点之间的距离.用于计算除法错误时返回的点数.如果除法是正数,则忽略.
out array | Array.<Phaser.Math.Vector2> <optional>
存储点的可选数组.
Returns:
一组点.
Type
Array.<Phaser.Math.Vector2>

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

Since:
  • 3.0.0
Overrides:
获取曲线的起点.
Parameters:
Name Type Attributes Description
out Phaser.Math.Vector2 <optional>
存储结果的Vector2对象.如果没有给出将被创建.
Returns:
曲线上该点的坐标.如果给定了一个 `out` 对象,将返回该对象.
Type
Phaser.Math.Vector2

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

Since:
  • 3.0.0
Inherited From:
在曲线上的一个相对位置得到一个单位向量切线. 如果任何子曲线没有实现其正切求导, 相隔2点的一个小三角形将被用来寻找它的梯度 这似乎给出了一个合理的近似值
Parameters:
Name Type Attributes Description
t number 曲线上的相对位置,[0..1].
out Phaser.Math.Vector2 <optional>
存储结果的向量.
Returns:
Vector approximating the tangent line at the point t (delta +/- 0.0001)
Type
Phaser.Math.Vector2

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

Since:
  • 3.0.0
Inherited From:
通过弧长在曲线上的相对位置获取单位矢量切线.
Parameters:
Name Type Attributes Description
u