Skeleton2D
继承: Node2D
< CanvasItem
< Node
< Object
The parent of a hierarchy of Bone2D
s, used to create a 2D skeletal animation.
描述
Skeleton2D parents a hierarchy of Bone2D
nodes. It holds a reference to each Bone2D
's rest pose and acts as a single point of access to its bones.
To set up different types of inverse kinematics for the given Skeleton2D, a SkeletonModificationStack2D
should be created. The inverse kinematics be applied by increasing SkeletonModificationStack2D.modification_count
and creating the desired number of modifications.
方法
void | execute_modifications ( delta: float , execution_mode: int ) |
Bone2D | get_bone ( idx: int ) |
int | get_bone_count ( ) const1 |
Transform2D | get_bone_local_pose_override ( bone_idx: int ) |
SkeletonModificationStack2D | get_modification_stack ( ) const1 |
RID | get_skeleton ( ) const1 |
void | set_bone_local_pose_override ( bone_idx: int , override_pose: Transform2D , strength: float , persistent: bool ) |
void | set_modification_stack ( modification_stack: SkeletonModificationStack2D ) |
信号
bone_setup_changed ( )
Emitted when the Bone2D
setup attached to this skeletons changes. This is primarily used internally within the skeleton.
方法说明
void
execute_modifications ( delta: float
, execution_mode: int
)
Executes all the modifications on the SkeletonModificationStack2D
, if the Skeleton2D has one assigned.
Returns a Bone2D
from the node hierarchy parented by Skeleton2D. The object to return is identified by the parameter idx
. Bones are indexed by descending the node hierarchy from top to bottom, adding the children of each branch before moving to the next sibling.
Returns the number of Bone2D
nodes in the node hierarchy parented by Skeleton2D.
Transform2D
get_bone_local_pose_override ( bone_idx: int
)
Returns the local pose override transform for bone_idx
.
SkeletonModificationStack2D
get_modification_stack ( ) const1
Returns the SkeletonModificationStack2D
attached to this skeleton, if one exists.
Returns the RID
of a Skeleton2D instance.
void
set_bone_local_pose_override ( bone_idx: int
, override_pose: Transform2D
, strength: float
, persistent: bool
)
Sets the local pose transform, override_pose
, for the bone at bone_idx
.
strength
is the interpolation strength that will be used when applying the pose, and persistent
determines if the applied pose will remain.
Note: The pose transform needs to be a local transform relative to the Bone2D
node at bone_idx
!
void
set_modification_stack ( modification_stack: SkeletonModificationStack2D
)
Sets the SkeletonModificationStack2D
attached to this skeleton.
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。