首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Godot中使图像适合屏幕

如何在Godot中使图像适合屏幕
EN

Stack Overflow用户
提问于 2017-11-11 03:55:31
回答 2查看 10.4K关注 0票数 6

我是新的戈多引擎,我试图使手机游戏(肖像模式只)。我想使背景图像适合屏幕大小。我该怎么做?我是否必须导入特定大小的图像,并在各种屏幕上实现它们?如果我将图像导入到大屏幕,它只会剪切出不适合屏幕的部分。另外,在开发时,我应该使用哪些宽度和高度值来实现这些目的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-15 19:04:22

处理不同大小的屏幕总是有点复杂。特别是对于屏幕尺寸、分辨率和宽高比不同的手机游戏。

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

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

另一种优雅的方法是创建一个比你的视窗更大的图像,并且只定义一个必须在每个设备上显示的区域,而不管分辨率是什么。Here是一个能表达我意思的人。

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

希望这能有所帮助。

票数 4
EN

Stack Overflow用户

发布于 2019-07-22 02:09:33

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

下面是如何轻松地使sprite与视口大小相匹配-

代码语言:javascript
运行
复制
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 (您说的是肖像)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47230216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档