SpriteFrames

继承: Resource < RefCounted < Object

精灵帧库,用于 AnimatedSprite2D 和 AnimatedSprite3D。

描述

AnimatedSprite2DAnimatedSprite3D 节点的精灵帧库。包含帧和用于播放的动画信息。

方法

void

add_animation(anim: StringName)

void

add_frame(anim: StringName, texture: Texture2D, duration: float = 1.0, at_position: int = -1)

void

clear(anim: StringName)

void

clear_all()

bool

get_animation_loop(anim: StringName) const

PackedStringArray

get_animation_names() const

float

get_animation_speed(anim: StringName) const

int

get_frame_count(anim: StringName) const

float

get_frame_duration(anim: StringName, idx: int) const

Texture2D

get_frame_texture(anim: StringName, idx: int) const

bool

has_animation(anim: StringName) const

void

remove_animation(anim: StringName)

void

remove_frame(anim: StringName, idx: int)

void

rename_animation(anim: StringName, newname: StringName)

void

set_animation_loop(anim: StringName, loop: bool)

void

set_animation_speed(anim: StringName, fps: float)

void

set_frame(anim: StringName, idx: int, texture: Texture2D, duration: float = 1.0)


方法说明

void add_animation(anim: StringName) 🔗

向库中添加新动画 anim


void add_frame(anim: StringName, texture: Texture2D, duration: float = 1.0, at_position: int = -1) 🔗

Adds a frame to the anim animation. If at_position is -1, the frame will be added to the end of the animation. duration specifies the relative duration, see get_frame_duration for details.


void clear(anim: StringName) 🔗

删除 anim 动画中的所有帧。


void clear_all() 🔗

移除所有动画。将创建名为 default 的空动画。


bool get_animation_loop(anim: StringName) const 🔗

当指定的动画被配置为结束播放后循环时,返回 true,否则返回 false


PackedStringArray get_animation_names() const 🔗

返回一个包含每个动画的名称的数组。值按字母顺序排列。


float get_animation_speed(anim: StringName) const 🔗

返回 anim 动画的速度,单位为帧每秒。


int get_frame_count(anim: StringName) const 🔗

返回 anim 动画中的帧数。


float get_frame_duration(anim: StringName, idx: int) const 🔗

返回 anim 动画中 idx 帧的相对持续时间(默认为 1.0)。例如,持续时间为 2.0 的帧的显示长度是持续时间为 1.0 的帧的两倍。可以使用如下公式计算某一帧的绝对持续时间(单位为秒):

  1. absolute_duration = relative_duration / (animation_fps * abs(playing_speed))

在这个例子中,playing_speedAnimatedSprite2D.get_playing_speedAnimatedSprite3D.get_playing_speed


Texture2D get_frame_texture(anim: StringName, idx: int) const 🔗

返回 anim 动画中帧索引为 idx 的纹理。


bool has_animation(anim: StringName) const 🔗

如果 anim 动画存在,则返回 true


void remove_animation(anim: StringName) 🔗

移除 anim 动画。


void remove_frame(anim: StringName, idx: int) 🔗

移除 anim 动画中索引为 idx 的帧。


void rename_animation(anim: StringName, newname: StringName) 🔗

anim 动画的名称更改为 newname


void set_animation_loop(anim: StringName, loop: bool) 🔗

如果 looptrue,则 anim 动画会在到达结尾时循环,逆序播放时则为到达开头时循环。


void set_animation_speed(anim: StringName, fps: float) 🔗

设置 anim 动画的速度,单位为帧每秒。


void set_frame(anim: StringName, idx: int, texture: Texture2D, duration: float = 1.0) 🔗

Sets the texture and the duration of the frame idx in the anim animation. duration specifies the relative duration, see get_frame_duration for details.