【问题标题】:How to load textures from a spritesheet in Godot 3如何在 Godot 3 中从 spritesheet 加载纹理
【发布时间】:2019-04-21 01:12:39
【问题描述】:

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

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

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

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

谢谢!

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

【问题讨论】:

    标签: godot


    【解决方案1】:

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

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

    (这适用于 Godot v3.2.2)

    【讨论】:

      【解决方案2】:

      正如它所说:“可以使用多种纹理制作动画的精灵节点。” 来源: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 是更好的选择。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-06-25
        • 1970-01-01
        • 2013-05-17
        • 2016-10-11
        • 1970-01-01
        • 2017-06-11
        • 2019-02-14
        相关资源
        最近更新 更多