使我的游戏适合所有屏幕尺寸 - 电晕

时间:2015-04-10 10:29:19

标签: lua height size screen corona

我的游戏框架比屏幕大一点。在galalxy s5 / s4上它运行良好,也适用于iphone 5/6。 我使用此代码使游戏的框架适合所有屏幕尺寸: config.lua:

local aspectRatio = display.pixelHeight / display.pixelWidth

    application =
    {
    content =
    {
      width = aspectRatio > 1.5 and 1080 or math.ceil( 1920 / aspectRatio ),
          height = aspectRatio < 1.5 and 1920 or math.ceil( 1080 * aspectRatio ),
    scale = "letterbox",
    fps = 60,
    ...]
它在诺基亚lumia,nexus 5(我隐藏了nevigation bar)和iphone 4(我检查过的东西)看起来非常好。 再长一点(游戏不在屏幕框架内)。 mabe有人可以帮助我吗?我不知道如何让它适用于所有设备。

1 个答案:

答案 0 :(得分:0)

听起来你需要完全阅读配置文件和动态扩展。

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

有些屏幕更宽,而有些则更窄。如果我们从等式中取出分辨率,则更容易可视化屏幕。使用动态缩放功能,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,
  },
 },
}

请参阅此处:different screen sizes with corona sdk