我是新的戈多引擎,我试图使手机游戏(肖像模式只)。我想使背景图像适合屏幕大小。我该怎么做?我是否必须导入特定大小的图像,并在各种屏幕上实现它们?如果我将图像导入到大屏幕,它只会剪切出不适合屏幕的部分。另外,在开发时,我应该使用哪些宽度和高度值来实现这些目的?
发布于 2017-11-15 19:04:22
处理不同大小的屏幕总是有点复杂。特别是对于屏幕尺寸、分辨率和宽高比不同的手机游戏。
我能想到的最简单的方法就是扩展viewport。请记住,根节点始终是视口。在Godot中,您可以在项目设置中拉伸视口(您必须启用拉伸模式选项)。你可以找到一个很好的小教程here。
但是,视口拉伸可能会导致图像扭曲或边缘出现黑条。
另一种优雅的方法是创建一个比你的视窗更大的图像,并且只定义一个必须在每个设备上显示的区域,而不管分辨率是什么。Here是一个能表达我意思的人。
我真的不能回答你的第二个问题,关于最佳的宽度和高度,但我会寻找最典型的手机分辨率和比例,并使用这些设置。最后,您可能应该开始使用您想要用于测试和调试的电话的宽度和高度比率。
希望这能有所帮助。
发布于 2019-07-22 02:09:33
使用Godot 3,我可以使用脚本设置sprite /其他UI元素的大小和位置。我没有使用显示窗口的拉伸模式。
下面是如何轻松地使sprite与视口大小相匹配-
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 (您说的是肖像)。
https://stackoverflow.com/questions/47230216
复制相似问题