跳到主要内容

AnimatedTexture

继承

Texture

简要描述

用于基于帧的简单动画的代理纹理。

描述

AnimatedTexture是用于基于帧的动画的资源格式,其中可以自动为每个帧以预定义的延迟链接多个纹理。与AnimationPlayerAnimatedSprite不同,这不是一个Node,但具有和Texture资源一致的任何地方都可以使用的优势,例如在TileSet中。

动画的播放由fps属性以及每帧的可选延迟控制(请参见set_frame_delay)。动画循环,即当动画播放到最后一帧后动画会从第0帧重新播放。

AnimatedTexture当前要求所有帧纹理具有相同的大小,否则较大的纹理将被裁剪以匹配最小的纹理。并且,它不支持AtlasTexture。每一帧都需要是单独的图片。

成员

类型属性名默认值
intflags0
floatfps4.0
intframes1

方法

返回值类型方法名称
floatget_frame_delay(frame: int) const
Textureget_frame_texture(frame: int) const
voidset_frame_delay(frame: int, delay: float)
voidset_frame_texture(frame: int, texture: Texture)

常量

  • **MAX_FRAMES = 256**

AnimatedTexture支持的最大帧数。如果在该动画中你需要更多帧,请使用AnimationPlayerAnimatedSprite

成员说明

  • int flags
Default0
setterset_flags(value)
getterget_flags
  • float fps
Default4.0
setterset_fps(value)
getterget_fps
  • int frames
Default1
setterset_frames(value)
getterget_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的帧才是属于该动画的。