我正在使用电晕sdk制作我的第一款iphone游戏,并希望它能在尽可能多的设备上运行(手机+平板电脑)。但是我不知道如何处理不同的屏幕尺寸和分辨率。我使用电晕模拟器为iPhone 5开发了我的游戏,它在该设备上运行良好。当我在像iPhone 4这样的低分辨率设备上尝试时,我会在每侧获得2个黑色矩形。我尝试使用不同的分辨率创建2个不同的背景,并将其添加到我的config.lua中:
imageSuffix = {
["@2x"] = 2
}
然而,这似乎没有改变任何东西......我不确定我应该在config.lua文件中的内容中设置的高度和宽度以及我应该为背景设置的高度和宽度。如果这些问题很愚蠢,我很抱歉,我刚刚开始。 提前谢谢!
答案 0 :(得分:5)
听起来你需要完全阅读配置文件和动态扩展。
这个问题有点宽泛,我建议你阅读这篇关于"the ultimate config/modernizing the config"的文章。
有些屏幕更宽,而有些则更窄。如果我们采取 分辨率超出等式,更容易可视化屏幕。 使用Corona可以轻松地将分辨率从图像中分离出来 动态缩放。使用Dynamic Scaling,您可以使用一组通用的 屏幕坐标和Corona将自动缩放文本和 不同分辨率屏幕的图形。它可以向上或向上扩展 向下取决于你的起点。它也可以替代 需要放大时的更高分辨率图像。这是所有的了 由名为config.lua的项目文件夹中的Lua文件管理。
由于可用的分辨率差别很大,因此使用它会很有帮助 每个设备的比例相同。如果你在iPhone上并不重要 3GS在320×480或Retina iPad在1536×2048,位置(0,0) 代表左上角和(320,480),垂直纵向 模式,是右下角。屏幕中心是(160,240)。 在这种情况下,每个点是较低分辨率设备上的一个像素 就像3GS一样,它具有320×480的原生屏幕分辨率 Retina iPad上的每个点都是四个像素。不要担心数学 - Corona将为您处理。
来源:http://coronalabs.com/blog/2012/12/04/the-ultimate-config-lua-file/
这会创建一个完全利用动态缩放和图像缩放的配置文件。
local aspectRatio = display.pixelHeight / display.pixelWidth
application = {
content = {
width = aspectRatio > 1.5 and 320 or math.ceil( 480 / aspectRatio ),
height = aspectRatio < 1.5 and 480 or math.ceil( 320 * aspectRatio ),
scale = "letterBox",
fps = 30,
imageSuffix = {
["@2"] = 1.8,
["@4"] = 3.6,
},
},
}