Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Curve¶
继承: Resource < RefCounted < Object
数学曲线。
描述¶
该资源通过定义一组点和每个点的切线来描述数学曲线。默认情况下,它在 Y 轴上的范围在 0 到 1 之间,并且位置点相对于 0.5 Y 位置。
属性¶
|
||
|
||
|
||
|
方法¶
add_point(position: Vector2, left_tangent: float = 0, right_tangent: float = 0, left_mode: TangentMode = 0, right_mode: TangentMode = 0) |
|
void |
bake() |
void |
|
void |
|
get_point_left_mode(index: int) const |
|
get_point_left_tangent(index: int) const |
|
get_point_position(index: int) const |
|
get_point_right_mode(index: int) const |
|
get_point_right_tangent(index: int) const |
|
void |
remove_point(index: int) |
sample_baked(offset: float) const |
|
void |
set_point_left_mode(index: int, mode: TangentMode) |
void |
set_point_left_tangent(index: int, tangent: float) |
set_point_offset(index: int, offset: float) |
|
void |
set_point_right_mode(index: int, mode: TangentMode) |
void |
set_point_right_tangent(index: int, tangent: float) |
void |
set_point_value(index: int, y: float) |
信号¶
range_changed() 🔗
枚举¶
enum TangentMode: 🔗
TangentMode TANGENT_FREE = 0
点这边的切线是用户自定义的。
TangentMode TANGENT_LINEAR = 1
曲线计算点的这一侧的切线,作为向相邻点的一半的斜率。
TangentMode TANGENT_MODE_COUNT = 2
可用切线模式的总数。
属性说明¶
烘焙(即缓存)曲线数据中包含的点的数量。
曲线能达到的最大值。
曲线能达到的最小值。
描述该曲线的点的数量。
方法说明¶
int add_point(position: Vector2, left_tangent: float = 0, right_tangent: float = 0, left_mode: TangentMode = 0, right_mode: TangentMode = 0) 🔗
在曲线上添加一个点。对于每一侧,如果 *_mode 为 TANGENT_LINEAR,则 *_tangent 角度(以度为单位)将使用曲线到邻近点的一半的斜率。如果 *_mode 设置为 TANGENT_FREE,则允许自定义分配给 *_tangent 的角度。
void bake() 🔗
重新计算曲线的烘焙点缓存。
void clean_dupes() 🔗
移除重复点,即与曲线上相邻点的距离小于 0.00001 个单位(引擎中的 epsilon 值)的点。
void clear_points() 🔗
从曲线中移除所有点。
TangentMode get_point_left_mode(index: int) const 🔗
返回索引为 index 的点的左侧切线模式 TangentMode。
float get_point_left_tangent(index: int) const 🔗
返回索引为 index 的点的左侧切线夹角(单位为度)。
Vector2 get_point_position(index: int) const 🔗
返回索引为 index 的点的曲线坐标。
TangentMode get_point_right_mode(index: int) const 🔗
返回索引为 index 的点的右侧切线模式 TangentMode。
float get_point_right_tangent(index: int) const 🔗
返回索引为 index 的点的右侧切线夹角(单位为度)。
void remove_point(index: int) 🔗
移除曲线中索引为 index 的点。
float sample(offset: float) const 🔗
返回沿曲线的 X 位置 offset 处将存在的点的 Y 值。
float sample_baked(offset: float) const 🔗
使用烘焙的缓存返回沿曲线的 X 位置 offset 处将存在的点的 Y 值。烘焙尚未烘焙的曲线的点。
void set_point_left_mode(index: int, mode: TangentMode) 🔗
将索引为 index 的点的左侧 TangentMode 设置为 mode。
void set_point_left_tangent(index: int, tangent: float) 🔗
将索引为 index 的点的左侧切线角度设置为 tangent。
int set_point_offset(index: int, offset: float) 🔗
设置相对于 0.5 的偏移量。
void set_point_right_mode(index: int, mode: TangentMode) 🔗
将索引为 index 的点的右侧 TangentMode 设置为 mode。
void set_point_right_tangent(index: int, tangent: float) 🔗
将索引为 index 的点的右侧切线角度设置为 tangent。
void set_point_value(index: int, y: float) 🔗
将索引为 index 的点的垂直位置设置为 y。