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...
AnimationNodeOneShot¶
继承: AnimationNodeSync < AnimationNode < Resource < RefCounted < Object
在 AnimationNodeBlendTree 中播放一次动画。
描述¶
添加到 AnimationNodeBlendTree 的资源。这个动画节点将执行子动画并在完成后返回。可以自定义淡入和淡出的混合时间以及过滤器。
在设置请求并更改动画播放后,一次性节点会在下一个处理帧中通过将其 request
值设置为 ONE_SHOT_REQUEST_NONE 来自动清除请求。
# 播放连接到 “shot” 端口的子动画。
animation_tree.set("parameters/OneShot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE)
# 替代语法(与上述结果相同)。
animation_tree["parameters/OneShot/request"] = AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE
# 中止连接到 “shot” 端口的子动画。
animation_tree.set("parameters/OneShot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_ABORT)
# 替代语法(与上述结果相同)。
animation_tree["parameters/OneShot/request"] = AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT
# 使用淡出的方法中止连接到 “shot”端口的子动画。
animation_tree.set("parameters/OneShot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT)
# 替代语法(与上述结果相同)。
animation_tree["parameters/OneShot/request"] = AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT
# 获取当前状态(只读)。
animation_tree.get("parameters/OneShot/active"))
# 替代语法(与上述结果相同)。
animation_tree["parameters/OneShot/active"]
# 获取当前内部状态(只读)。
animation_tree.get("parameters/OneShot/internal_active")
# 替代语法(与上述结果相同)。
animation_tree["parameters/OneShot/internal_active"]
// 播放连接到 “shot” 端口的子动画。
animationTree.Set("parameters/OneShot/request", (int)AnimationNodeOneShot.OneShotRequest.Fire);
// 中止连接到 “shot” 端口的子动画。
animationTree.Set("parameters/OneShot/request", (int)AnimationNodeOneShot.OneShotRequest.Abort);
// 使用淡出的方法中止连接到 “shot”端口的子动画。
animationTree.Set("parameters/OneShot/request", (int)AnimationNodeOneShot.OneShotRequest.FadeOut);
// 获取当前状态(只读)。
animationTree.Get("parameters/OneShot/active");
// 获取当前内部状态(只读)。
animationTree.Get("parameters/OneShot/internal_active");
教程¶
属性¶
|
||
|
||
|
||
|
||
|
||
|
枚举¶
enum OneShotRequest:
OneShotRequest ONE_SHOT_REQUEST_NONE = 0
请求的默认状态。未完成任何操作。
OneShotRequest ONE_SHOT_REQUEST_FIRE = 1
播放连接到“shot”端口的动画的请求。
OneShotRequest ONE_SHOT_REQUEST_ABORT = 2
停止连接到“shot”端口的动画的请求。
OneShotRequest ONE_SHOT_REQUEST_FADE_OUT = 3
淡出连接到“shot”端口的动画的请求。
enum MixMode:
MixMode MIX_MODE_BLEND = 0
混合两个动画。另请参见 AnimationNodeBlend2。
MixMode MIX_MODE_ADD = 1
以相加方式混合两个动画。另请参阅 AnimationNodeAdd2。
属性说明¶
bool autorestart = false
如果为 true
,子动画结束后会自动重新开始。
换句话说,要开始自动重启,必须使用 ONE_SHOT_REQUEST_FIRE 请求播放一次动画。ONE_SHOT_REQUEST_ABORT 请求停止自动重启,但它不会禁用 autorestart 本身。因此,ONE_SHOT_REQUEST_FIRE 请求将再次开始自动重启。
float autorestart_delay = 1.0
触发自动重启的延迟时间,以秒为单位。
float autorestart_random_delay = 0.0
如果 autorestart 为 true
,则介于0和此值之间的随机附加延迟(以秒为单位)将添加到 autorestart_delay。
Curve fadein_curve
确定如何缓动动画之间的淡入淡出。如果为空,过渡将是线性的。
float fadein_time = 0.0
淡入持续时间。例如,将此属性设置为 1.0
,对于 5 秒长的动画,将在动画期间产生从 0 秒开始到 1 秒结束的交叉淡入淡出。
Curve fadeout_curve
确定如何缓动动画之间的淡入淡出。如果为空,过渡将是线性的。
float fadeout_time = 0.0
淡出持续时间。例如,将此属性设置为 1.0
,对于 5 秒长的动画,将产生从 4 秒开始到 5 秒结束的交叉淡入淡出。
MixMode mix_mode = 0
混合类型。