我对 Gideros 和游戏开发也很陌生。
我正在尝试构建一个游戏,在 Gideros 播放器上看起来不错,但是当我在 Android 手机上尝试时,背景太小了。我将其属性更改为自动缩放以适应宽度。背景现在适合宽度,但其他对象似乎去到了荒谬的位置。
尽管我使用了 W = application:getDeviceWidth()
、H = application:getDeviceHeight()
,并且在设置位置时使用了 W/2
和 H/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/