8

我昨天刚开始使用Godot,我正在开始游戏。我为它画了一些精灵表。将动画的所有帧打包到一个图像文件中似乎更有效,对吧?

无论如何,在 Godot 中我有一个AnimatedSprite,它当然有一个SpriteFrames属性,或者任何它的名字。我想将我的 spritesheet 拆分为多个图像,以便我可以将每个图像用作动画中的单独帧,但据我所知 Godot 没有提供这样的功能。是这样吗?

我已经在网上搜索了一段时间的答案,但我找不到任何相关的东西。

如果我不能在 Godot 中做到这一点,我会感到非常惊讶,因为我几乎可以在我见过的所有其他游戏引擎中做到这一点。

谢谢!

(澄清一下,我想(以编程方式或其他方式)在 Godot 中将 spritesheet 拆分为多个纹理。)

4

2 回答 2

3

单击节点New SpriteFramesFrames属性菜单。AnimatedSprite现在单击属性SpriteFrames名称旁边的刚刚创建的FramesAnimation Frames窗口应该出现。

动画帧窗口截图

单击此Add frames from a Sprite Sheet按钮。选择您的恶意表文件,设置网格大小,最后从该精灵表中选择单个帧。

(这在 Godot v3.2.2 中适用于我)

于 2020-11-20T12:38:33.573 回答
-1

正如它所说:“可以将多个纹理用于​​动画的 Sprite 节点。” 来源:http ://docs.godotengine.org/en/3.0/classes/class_animatedsprite.html

您正在搜索的是使用普通 Sprite(2D),如果您在每一帧都使用 AnimationPlayer,则为其设置区域。示例:https ://www.youtube.com/watch?v=IGHcscKpA7Y

如果您想以编程方式完成所有操作,只需将 sprite 设置为 Sprite(2D),然后:

func _ready(): 
   set_region(true)
   set_region_rect(Rect2(positionx,positiony,width,height)) 

但我想使用 AnimationPlayer 是更好的选择。

这没有经过测试,因为我现在应该在睡觉,但它应该可以工作。

于 2018-11-18T22:55:59.127 回答