【问题标题】:How to make image fit screen in Godot如何在 Godot 中使图像适合屏幕
【发布时间】:2018-04-24 02:55:09
【问题描述】:

我是godot引擎的新手,我正在尝试制作手机游戏(仅限纵向模式)。我想让背景图像适合屏幕大小。我怎么做?我是否必须导入具有特定尺寸的图像并将它们全部用于各种屏幕?如果我将图像导入大,它只会剪掉不适合屏幕的部分。 另外,在开发过程中,我应该为这些目的使用哪些宽度和高度值?

【问题讨论】:

    标签: godot


    【解决方案1】:

    使用不同的屏幕尺寸总是有点复杂。尤其是手机游戏,因为屏幕尺寸、分辨率和纵横比不同。

    我能想到的最简单的方法是缩放viewport。请记住,您的根节点始终是一个视口。在 Godot 中,您可以在项目设置中拉伸视口(您必须启用拉伸模式选项)。你可以找到一个不错的小教程here

    但是,视口拉伸可能会导致图像失真或边缘出现黑条。

    另一种优雅的方法是创建一个比您的视口更大的图像,并定义一个无论分辨率如何都必须在每个设备上显示的区域。 Here 有人在表达我的意思。

    我无法真正回答您关于最佳宽度和高度的第二个问题,但我会寻找最典型的手机分辨率和比率并使用该设置。最后,您可能应该从使用要用于测试和调试的手机的宽高比开始。

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      使用 Godot 3,我可以使用脚本设置精灵/其他 UI 元素的大小和位置。我没有使用显示窗口的拉伸模式。

      这是您可以轻松使精灵与视口大小匹配的方法 -

      var viewportWidth = get_viewport().size.x
      var viewportHeight = get_viewport().size.y
      
      var scale = viewportWidth / $Sprite.texture.get_size().x
      
      # Optional: Center the sprite, required only if the sprite's Offset>Centered checkbox is set
      $Sprite.set_position(Vector2(viewportWidth/2, viewportHeight/2))
      
      # Set same scale value horizontally/vertically to maintain aspect ratio
      # If however you don't want to maintain aspect ratio, simply set different
      # scale along x and y
      $Sprite.set_scale(Vector2(scale, scale))
      

      对于移动设备,我建议导入大小为 1080x1920 的 PNG(您说的是纵向)。

      【讨论】:

        猜你喜欢
        • 2016-08-09
        • 2017-03-22
        • 1970-01-01
        • 2018-09-12
        • 2015-01-27
        • 2020-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多