AnimatedTexture
继承
简要描述
用于基于帧的简单动画的代理纹理。
描述
AnimatedTexture是用于基于帧的动画的资源格式,其中可以自动为每个帧以预定义的延迟链接多个纹理。与AnimationPlayer或AnimatedSprite不同,这不是一个Node,但具有和Texture资源一致的任何地方都可以使用的优势,例如在TileSet中。
动画的播放由fps属性以及每帧的可选延迟控制(请参见set_frame_delay)。动画循环,即当动画播放到最后一帧后动画会从第0帧重新播放。
AnimatedTexture当前要求所有帧纹理具有相同的大小,否则较大的纹理将被裁剪以匹配最小的纹理。并且,它不支持AtlasTexture。每一帧都需要是单独的图片。
成员
类型 | 属性名 | 默认值 |
---|---|---|
int | flags | 0 |
float | fps | 4.0 |
int | frames | 1 |
方法
返回值类型 | 方法名称 |
---|---|
float | get_frame_delay(frame: int) const |
Texture | get_frame_texture(frame: int) const |
void | set_frame_delay(frame: int, delay: float) |
void | set_frame_texture(frame: int, texture: Texture) |
常量
- **MAX_FRAMES = 256**
AnimatedTexture支持的最大帧数。如果在该动画中你需要更多帧,请使用AnimationPlayer或AnimatedSprite。
成员说明
- int flags
Default | 0 |
---|---|
setter | set_flags(value) |
getter | get_flags |
- float fps
Default | 4.0 |
---|---|
setter | set_fps(value) |
getter | get_fps |
- int frames
Default | 1 |
---|---|
setter | set_frames(value) |
getter | get_frames |
方法说明
- get_frame_delay get_frame_delay(frame: int) const
返回给定帧的延迟值。
- get_frame_texture get_frame_texture(frame: int) const
返回给定帧的Texture。
- set_frame_delay set_frame_delay(frame: int, delay: float)
设置此帧与下一帧之间的附加延迟(以秒为单位),该延迟将添加到fps定义的时间间隔中。默认情况下,帧之间没有定义延迟。如果定义了一个延时数值,则当前帧与下一帧之间的时间间隔会是1.0 /fps + delay
。
例如,对于具有3帧,2 FPS并且第二帧有1.2延时的帧延迟的动画,结果回放将是:
Frame 0: 0.5 s (1 /fps)
Frame 1: 1.7 s (1 /fps + 1.2)
Frame 2: 0.5 s (1 /fps)
Total duration: 2.7 s
- set_frame_texture set_frame_texture(frame: int, texture: Texture)
将Texture分配给给定的帧。帧ID从0开始,因此第一帧的ID为0,动画最后一帧的ID为frames - 1。
您可以定义任意数量的纹理,直到MAX_FRAMES,但要记住,只有0到frames - 1的帧才是属于该动画的。