Spline

.Curves. Spline

从一系列点创建平滑的2d样条曲线.

Constructor

new Spline(pointsopt)

Since:
  • 3.0.0
Parameters:
Name Type Attributes Description
points Array.<Phaser.Math.Vector2> | Array.<number> | Array.<Array.<number>> <optional>
构成曲线的点.

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

points :Array.<Phaser.Math.Vector2>

Since:
  • 3.0.0
Default Value:
  • []
构成曲线的矢量2点.
Type:

type :string

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

Methods

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

Since:
  • 3.0.0
导入包含该曲线数据的JSON对象.
Parameters:
Name Type Description
data Phaser.Types.Curves.JSONCurve 包含该曲线数据的JSON对象.
Returns:
创建的样条曲线.
Type
Phaser.Curves.Spline

addPoint(x, y) → {Phaser.Math.Vector2}

Since:
  • 3.0.0
向曲线的当前矢量2点列表中添加一个点.
Parameters:
Name Type Description
x number 这条曲线的x坐标
y number 这条曲线的y坐标
Returns:
曲线上增加了新的矢量2
Type
Phaser.Math.Vector2

addPoints(points) → {this}

Since:
  • 3.0.0
将点列表添加到曲线的当前矢量2点列表中.
Parameters:
Name Type Description
points Array.<Phaser.Math.Vector2> | Array.<number> | Array.<Array.<number>> 构成曲线的点.
Returns:
这个曲线对象.
Type
this

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>
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: