Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

AnimationNodeStateMachinePlayback

继承: Resource < RefCounted < Object

AnimationNodeStateMachine 提供播放控制。

描述

允许控制使用 AnimationNodeStateMachine 创建的 AnimationTree 状态机。使用 $AnimationTree.get("parameters/playback") 检索。

示例:

var state_machine = $AnimationTree.get("parameters/playback")
state_machine.travel("some_state")

教程

属性

bool

resource_local_to_scene

true (overrides Resource)

方法

float

get_current_length ( ) const

StringName

get_current_node ( ) const

float

get_current_play_position ( ) const

StringName

get_fading_from_node ( ) const

StringName[]

get_travel_path ( ) const

bool

is_playing ( ) const

void

next ( )

void

start ( StringName node, bool reset=true )

void

stop ( )

void

travel ( StringName to_node, bool reset_on_teleport=true )


方法说明

float get_current_length ( ) const

返回当前状态长度。

注意:有可能任何 AnimationRootNode 既可以是节点也可以是动画。这意味着在单个状态中可以有多个动画。哪个动画长度会优先,取决于其内部连接的节点。此外,如果过渡未重置,则将返回该点的剩余长度。


StringName get_current_node ( ) const

返回当前的动画播放状态。

注意:使用交叉叠化时,当前状态会在交叉叠化开始后理解变为下一个状态。


float get_current_play_position ( ) const

返回当前动画状态内的播放位置。


StringName get_fading_from_node ( ) const

返回当前淡入淡出动画的开始状态。


StringName[] get_travel_path ( ) const

返回 A* 算法内部计算的当前行进路径。


bool is_playing ( ) const

如果正在播放动画,返回 true


void next ( )

如果通过行进或自动前进有下一条路径,则立即从当前状态过渡到下一个状态。


void start ( StringName node, bool reset=true )

开始播放给定的动画。

如果 resettrue,则动画从头开始播放。


void stop ( )

停止当前播放的动画。


void travel ( StringName to_node, bool reset_on_teleport=true )

按照最短的路径从当前状态过渡到另一个状态。

如果路径没有连接到当前状态,则动画将在状态传送后播放。

如果 reset_on_teleporttrue,当行进导致传送时,该动画将从头开始播放。