官方文档 2D Sprite Animation 介绍了 3 种实现 2D Sprite 动画的方法。
第一种方法适用于每一帧的动画是单独图片的情况。后两种方式适用于多个动画帧在一张图片内的情况。
AnimatedSprite2D
+单独的图像帧
这种方式适用于将动画拆分为单独的图像帧(frame)的情况。
需要将每个动画帧作为单独的图像导入到 Godot 中,并使用 AnimatedSprite2D
节点来创建动画。通过在 SpriteFrames
面板中设置帧速率和添加动画帧,可以控制动画的播放。
- 点击
AnimatedSprite2D
的SpriteFrames
属性,选择New SpriteFrames
. - 拖拽单个帧的图片到
SpriteFrames
AnimatedSprite2D
+SpriteSheet
这种方式适用于使用精灵表单(sprite sheet)的情况,精灵表单是指将所有动画帧合并到一个图像中。
- 点击
AnimatedSprite2D
的SpriteFrames
属性,选择New SpriteFrames
. - 在
SpriteFrames
面板中选择Add frames from a Sprite Sheet
- 选择想要导入的精灵表单,在弹出的窗口中输入行与列的数量将图片分成多个帧(frame),用鼠标选择相应的帧导入。
到此为止的前两种用 AnimatedSprete2D
实现的动画都可以在代码中使用 play()
和 stop()
来控制。以 GDScropt
为例:
|
|
Sprite2D
+AnimationPlayer
+SpriteSheet
- 选中
Sprite2D
节点,拖拽精灵表单到Texture
,设置相应的Hframes
和Vframes
来切分成单个帧。 - 选中
AnimationPlayer
节点,点击Animation
按钮,接着点New
,输入名字,设置动画时长和循环。 - 在
Animation
的时间轴上选择插入点,在Sprite2D
的Frame
属性设置中选择对应的帧,点key
(钥匙)图标,将相应的帧插入时间轴。对其余帧重复操作。
对 AnimationPlayer
也可用通过代码控制动画。比如:
|
|
本文只是概述,详情参看原文.