Curve
继承
简要描述
数学曲线。
描述
可以保存并重新用于其他对象的曲线。默认情况下,它在Y轴上的0
和1
之间,并且相对于0.5
Y位置定位点。
成员
类型 | 属性名 | 默认值 |
---|---|---|
int | bake_resolution | 100 |
float | max_value | 1.0 |
float | min_value | 0.0 |
方法
返回值类型 | 方法名称 |
---|---|
int | add_point(position: Vector2, left_tangent: float = 0, right_tangent: float = 0, left_mode: int = 0, right_mode: int = 0) |
void | bake() |
void | clean_dupes() |
void | clear_points() |
int | get_point_count() const |
int | get_point_left_mode(index: int) const |
float | get_point_left_tangent(index: int) const |
Vector2 | get_point_position(index: int) const |
int | get_point_right_mode(index: int) const |
float | get_point_right_tangent(index: int) const |
float | interpolate(offset: float) const |
float | interpolate_baked(offset: float) |
void | remove_point(index: int) |
void | set_point_left_mode(index: int, mode: int) |
void | set_point_left_tangent(index: int, tangent: float) |
int | set_point_offset(index: int, offset: float) |
void | set_point_right_mode(index: int, mode: int) |
void | set_point_right_tangent(index: int, tangent: float) |
void | set_point_value(index: int, y: float) |
信号
- **range_changed**
枚举
enum TangentMode:
- **TANGENT_FREE = 0**
该点这一侧的切线是用户定义的。
- **TANGENT_LINEAR = 1**
曲线将计算出该点这一侧的切线,即切向邻近点的中点处的坡度。
- **TANGENT_MODE_COUNT = 2**
可用切线模式的总数。
常量
成员说明
- int bake_resolution
Default | 100 |
---|---|
setter | set_bake_resolution(value) |
getter | get_bake_resolution |
- float max_value
Default | 1.0 |
---|---|
setter | set_max_value(value) |
getter | get_max_value |
- float min_value
Default | 0.0 |
---|---|
setter | set_min_value(value) |
getter | get_min_value |
方法说明
- add_point add_point(position: Vector2, left_tangent: float = 0, right_tangent: float = 0, left_mode: int = 0, right_mode: int = 0)
在曲线上添加一个点。对于每一边,如果*_mode
为TANGENT_LINEAR,则*_tangent
角度(以度为单位)将使用曲线到相邻点的中点的斜率。如果*_mode
设置为TANGENT_FREE,则允许自定义分配给*_tangent
角度。
- bake bake()
重新计算曲线的烘焙点缓存。
- clean_dupes clean_dupes()
删除比其曲线上的相邻点近CMP_EPSILON
(0.00001)个单位的点。
- clear_points clear_points()
从曲线中删除所有点。
- get_point_count get_point_count() const
返回描述曲线的点数。
- get_point_left_mode get_point_left_mode(index: int) const
返回index
处的点的左侧TangentMode。
- get_point_left_tangent get_point_left_tangent(index: int) const
返回index
处的点的左正切角(以度为单位)。
- get_point_position get_point_position(index: int) const
返回index
处的点的曲线坐标。
- get_point_right_mode get_point_right_mode(index: int) const
返回index
处的点的右侧TangentMode。
- get_point_right_tangent get_point_right_tangent(index: int) const
返回index
处的点的右正切角(以度为单位)。
- interpolate interpolate(offset: float) const
返回将在曲线的X位置offset
处存在的点的Y值。
- interpolate_baked interpolate_baked(offset: float)
使用烘焙的缓存返回沿曲线的X位置offset
处将存在的点的Y值。如果尚未烘焙曲线的点,则将其烘焙。
- remove_point remove_point(index: int)
从曲线中删除index
处的点。
- set_point_left_mode set_point_left_mode(index: int, mode: int)
将index
处的点的左侧TangentMode设置为mode
。
- set_point_left_tangent set_point_left_tangent(index: int, tangent: float)
将index
处的点的左正切角设置为tangent
。
- set_point_offset set_point_offset(index: int, offset: float)
设置0.5
的偏移量。
- set_point_right_mode set_point_right_mode(index: int, mode: int)
将index
处的点的右侧TangentMode设置为mode
。
- set_point_right_tangent set_point_right_tangent(index: int, tangent: float)
将index
处的点的右切角设置为tangent
。
- set_point_value set_point_value(index: int, y: float)
将垂直位置y
分配给index
处的点。