如何从Godot 3中的Spritesheet加载纹理

时间:2018-11-18 14:01:21

标签: godot

昨天我刚开始使用Godot,现在开始游戏。我为此画了一些电子表格。将动画的所有帧打包到一个图像文件中似乎效率更高,对吧?

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

一段时间以来,我一直在网上寻找答案,但找不到任何相关内容。

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

谢谢!

(为了澄清,我想(以编程方式或其他方式)在Godot内将Spritesheet拆分为多个纹理。)

2 个答案:

答案 0 :(得分:0)

它说:“可以使用多种纹理进行动画处理的Sprite节点”。 来源:http://docs.godotengine.org/en/3.0/classes/class_animatedsprite.html

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

如果要通过编程方式完成所有操作,只需将子画面设置为Sprite(2D),然后:

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

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

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

答案 1 :(得分:0)

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

Animation frames window screenshot

点击此Add frames from a Sprite Sheet按钮。选择您的Spite工作表文件,设置网格大小,最后从该Sprite工作表中选择单个框架。

(这在Godot v3.2.2中对我有效)