lua - 如何使我的 Gideros 游戏适应所有屏幕尺寸?

标签 lua gideros

我对 Gideros 和游戏开发也很陌生。

我正在尝试构建一个游戏,在 Gideros 播放器上看起来不错,但是当我在 Android 手机上尝试时,背景太小了。我将其属性更改为自动缩放以适应宽度。背景现在适合宽度,但其他对象似乎去到了荒谬的位置。

尽管我使用了 W = application:getDeviceWidth()H = application:getDeviceHeight(),并且在设置位置时使用了 W/2H/2 而不是对其进行硬编码。 但是,如果我不应用适合宽度属性,则该对象似乎会移动到最右下端(在横向左模式下),而它正好位于其中心。 我可以做什么来修复它?

最佳答案

您应该使用 W = application:getContentWidth()H = application:getContentHeight() ,它们将返回在缩放模式下使用的逻辑尺寸。

基本上这一切都归结为以下几点:

1) 选择适合您游戏的缩放模式(Letterbox 最受欢迎)

2) 为您的游戏选择逻辑尺寸,并为您在项目属性中设置的逻辑尺寸创建所有图形(建议480x800或640x960)

3) 创建比逻辑尺寸稍大的背景,以覆盖不同比例的设备上的空白

4) 对于需要粘贴到屏幕两侧的对象(例如屏幕按钮)使用绝对定位 ( http://appcodingeasy.com/Gideros-Mobile/Ignore-Automatic-Screen-Scaling-when-positioning-objects )

5)(可选)以某些固定比例系数准备更大的图形,并使用自动图像分辨率功能为更大的设备自动加载它们

更多信息请参见此处: http://members.giderosmobile.com/knowledgebase.php?action=displayarticle&id=79

添加:(设备维度和逻辑维度之间的差异)

设备尺寸与设备实际尺寸相同。这意味着在 iPhone 3GS 上它将返回宽度为 320

但逻辑维度正是您在项目属性中设置的。无论您采用什么分辨率,逻辑维度始终是相同的。它们基本上会根据您选择的缩放模式进行缩放。

以下是有关该主题的更多具体信息:http://appcodingeasy.com/Gideros-Mobile/Difference-between-content-logical-and-device-dimensions-in-Gideros-Mobile

因此,如果您仅针对一种特定分辨率进行开发,则可以使用设备尺寸,否则建议使用逻辑尺寸以及您认为合适的缩放模式。

关于lua - 如何使我的 Gideros 游戏适应所有屏幕尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23520830/

相关文章:

android - Gideros 图像动态加载并从内存中删除

lua - 在 Lua 中创建要执行的任务列表

python - R - 通过删除 x、y 和 z 维度的全零二维矩阵来调整 3D 数组的大小

module - 在 Lua 5.2 中让 2 个以上模块递归互相引用的推荐方法

Nginx Lua 脚本

lua - Lua中的重复正则表达式

.net - 在继续响应用户输入和渲染帧之前等待 x 秒

Lua Gideros : Call function with multiple parameters

android - ZeroBrane DebugServer 连接被拒绝