AnimatedTexture¶
已弃用: 该类在当前版本中无法正常工作,将来可能会被移除。目前没有等效的解决方法。
继承: Texture2D < Texture < Resource < RefCounted < Object
用于简单的基于帧的动画的代理纹理。
描述¶
AnimatedTexture是一种基于帧的动画资源格式,其中多个纹理可以自动链接,每帧都有预定义的延迟。与AnimationPlayer不同,它不是Item,但具有可在任何可以使用Texture2D资源的地方使用的优势,例如在TileSet中。
动画的播放由speed_scale属性以及每帧的持续时间控制(参见set_frame_duration())。动画循环,即在播放最后一帧后,它将在第0帧自动重新启动。
AnimatedTexture目前要求所有帧纹理具有相同的大小,否则较大的将被裁剪以匹配最小的。
注意:AnimatedTexture不支持使用AtlasTexture。每个帧都需要是一个单独的Texture2D。
警告:当前的实现对于现代渲染器来说效率不高。
属性¶
方法¶
get_frame_duration(frame: int) const |
|
get_frame_texture(frame: int) const |
|
void |
set_frame_duration(frame: int, duration: float) |
void |
set_frame_texture(frame: int, texture: Texture2D) |
常量¶
MAX_FRAMES = 256 🔗
AnimatedTexture支持的最大帧数。如果您的动画中需要更多帧数,请使用AnimationPlayer。
属性说明¶
设置纹理的当前可见帧。在播放时设置此帧会重置当前帧时间,因此新选择的帧将在其整个配置帧持续时间内播放。
动画中使用的帧数。虽然您可以使用set_frame_texture()独立创建帧,但您需要为动画设置此值以考虑新帧。最大帧数是MAX_FRAMES。
如果true,动画只会播放一次,到达终点后不会循环回到第一帧。注意到达终点不会将pause设置为true。
如果true,动画将在当前位置暂停(即在current_frame)。将此属性更改为false时,动画将从暂停的位置继续。
动画速度乘以该值。如果设置为负值,则反向播放动画。
方法说明¶
float get_frame_duration(frame: int) const 🔗
返回给定frame的持续时间,以秒为单位。
Texture2D get_frame_texture(frame: int) const 🔗
返回给定帧的Texture2D。
void set_frame_duration(frame: int, duration: float) 🔗
设置任何给定frame的持续时间。最终持续时间受speed_scale的影响。如果设置为0,则在播放过程中跳过该帧。
void set_frame_texture(frame: int, texture: Texture2D) 🔗
为给定帧分配一个Texture2D。帧ID从0开始,因此第一帧的ID为0,动画的最后一帧的ID为frames-1。
您可以定义任意数量的纹理,最高可达MAX_FRAMES,但请记住,只有从0到frames-1的帧才是动画的一部分。