不同的屏幕尺寸与电晕sdk

kyl*_*lsg 2 size lua resolution screen coronasdk

我正在使用电晕sdk制作我的第一款iphone游戏,并希望它能在尽可能多的设备上运行(手机+平板电脑).但是我不知道如何处理不同的屏幕尺寸和分辨率.我使用电晕模拟器为iPhone 5开发了我的游戏,它在该设备上运行良好.当我在像iPhone 4这样的低分辨率设备上尝试时,我会在每侧获得2个黑色矩形.我尝试使用不同的分辨率创建2个不同的背景,并在我的config.lua中添加:

imageSuffix = {
       ["@2x"] = 2
}
Run Code Online (Sandbox Code Playgroud)

然而,这似乎没有改变任何东西......我不确定我应该在config.lua文件中的内容中设置的高度和宽度以及我应该为背景设置的高度和宽度.如果这些问题很愚蠢,我很抱歉,我刚刚开始.提前致谢!

Nic*_*ank 5

听起来你需要完全阅读配置文件和动态缩放.

这个问题有点宽泛,我建议你阅读这篇关于"最终配置/现代化配置"的文章.

有些屏幕更宽,而有些则更窄.如果我们从等式中取出分辨率,则更容易可视化屏幕.使用动态缩放功能,Corona可以轻松地将分辨率从图像中分离出来.使用Dynamic Sc​​aling,您可以使用一组通用的屏幕坐标,Corona将自动缩放不同分辨率屏幕的文本和图形.它可以根据您的起点向上或向下扩展.当需要按比例放大时,它还可以替换更高分辨率的图像.这全部由名为config.lua的项目文件夹中的Lua文件管理.

由于可用的分辨率差异很大,因此对每个设备使用相同的比例会很有帮助.如果您使用320×480的iPhone 3GS或1536×2048的Retina iPad,则无关紧要,位置(0,0)表示左上角,(320,480),垂直纵向模式,右下角.屏幕中心是(160,240).在这种情况下,每个点都是像3GS这样的低分辨率设备上的一个像素,其原始屏幕分辨率为320×480,而Retina iPad上的每个点都是四个像素.不要担心数学 - 科罗娜会为你处理它.

资料来源: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,
      },
   },
}
Run Code Online (Sandbox Code Playgroud)