8

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

4

2 回答 2

6

使用 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(您说的是纵向)。

于 2019-07-21T18:09:32.877 回答
3

使用不同的屏幕尺寸总是有点复杂。特别是对于手机游戏,由于屏幕尺寸、分辨率和纵横比不同。

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

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

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

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

希望有帮助。

于 2017-11-15T11:04:21.887 回答