AnimatedTexture

Inherits: Texture < Resource < Reference < Object

类别: 核心

简要说明

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

属性

float

fps

4.0

int

frames

1

方法

float

get_frame_delay ( int frame ) const

Texture

get_frame_texture ( int frame ) const

无效

set_frame_delay ( int frame, float delay )

无效

set_frame_texture ( int frame, Texture texture )

常量

描述

AnimatedTexture 是一种基于帧动画的资源格式,在该格式中,可以自动链接多个纹理,并为每个帧预定义一个延迟。不像 AnimationPlayerAnimatedSprite ,它不是一个 Node ,但具有可在任何地方使用的优势 Texture 可以使用资源,例如 TileSet .

动画的播放由 fps 属性以及每个帧的可选延迟(请参见 set_frame_delay )动画循环,即播放最后一帧后,将在第0帧自动重新启动。

AnimatedTexture 当前要求所有帧纹理具有相同的大小,否则较大的帧将被裁剪以匹配最小的帧纹理。

属性描述

违约

4.0

设定器

设置_fps(值)

吸气剂

获取_fps()

动画速度(帧/秒)。该值定义动画的两帧之间的默认时间间隔,从而基于 frames 属性。值为0表示没有预先定义的每秒帧数,动画将根据每个帧的帧延迟播放(请参见 set_frame_delay

例如,具有8帧、无帧延迟和 fps 值2将运行4秒,每帧持续0.5秒。

违约

1

设定器

设置帧(值)

吸气剂

获取帧()

要在动画中使用的帧数。而您可以使用 set_frame_texture ,需要为动画设置此值以考虑新帧。最大帧数为 MAX_FRAMES .

方法说明

  • float get_frame_delay ( int frame ) const

返回给定帧的延迟值。

返回给定帧的 Texture .

  • void set_frame_delay ( int frame, float delay )

设置此帧与下一帧之间的额外延迟(秒),该延迟将添加到由定义的时间间隔中 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
  • void set_frame_texture ( int frame, Texture texture )

分配 Texture 到给定的帧。帧ID从0开始,因此第一帧的ID为0,而动画的最后一帧的ID为 frames - 1。

最多可以定义任意数量的纹理 MAX_FRAMES ,但请记住,只有0到 frames -1将是动画的一部分。