我需要什么尺寸的图像来支持android / iphone的日冕背景和精灵

时间:2011-12-28 03:37:21

标签: corona

我喜欢将电晕编译到多个环境,但我想知道什么尺寸的精灵,我需要的图像。我的意思是我没有时间为每个可能的设备大小创建单独的图像。我知道电晕支持一些图像的自动缩放。那么例如,如果我有一个64x64精灵就是我需要的全部?或者我是否需要为每种情况设置新的图像尺寸?我正在寻找80%的覆盖范围,并不适用于所有设备。

4 个答案:

答案 0 :(得分:2)

我是以不同的方式做的。我想这可能会对你有所帮助。根据我的意见,只需创建宽度和高度的乘数值(根据您编码的模拟器),并将每个宽度或高度参数乘以(如下所示):

--------------------------------------------------------------------------
   -- choosing xMultiplier and yMultiplier values --
--------------------------------------------------------------------------
   local xMultiplier = display.contentWidth/320  
   local yMultiplier = display.contentHeight/480
   --[[ I used 320 here because i'm using iPhone Simulator 
        (320 is the width of the simulator you are coding in)
        I used 480 here because i'm using iPhone Simulator 
        (480 is the height of the simulator you are coding in)--]]

--------------------------------------------------------------------------
   -- creating background and positioning it --
--------------------------------------------------------------------------
   local bg = display.newImageRect("bg.png",320*xMultiplier,480*yMultiplier)
   bg.x = 160*xMultiplier ; bg.y = 240*yMultiplier

--------------------------------------------------------------------------
   -- creating object and positioning it --
--------------------------------------------------------------------------
   local rect = display.newImageRect(0,0,50*xMultiplier,50*yMultiplier)
   rect.x = 160*xMultiplier ; rect.y = 100*yMultiplier

--------------------------------------------------------------------------

注意:如果您在项目中使用config.lua文件,则可能无效。

优点:这只需要一张图片。

缺点:可能会影响高分辨率设备中图像的清晰度。因此,选择具有合适分辨率的图像。

继续编码...:)

答案 1 :(得分:1)

我建议你观看:

Big Corona Meetup - 第1部分 - youtube上的Corona SDK。

第二个扬声器进入图像比例,以及如何使用所有设备执行此操作。还介绍了在使用不同设备时如何在屏幕右侧放置对象。

答案 2 :(得分:0)

创建不同尺寸的多个图像 这是我现在的选择,
我们假设基本图像的大小为100x70,基本屏幕的大小为320x480。

baseImage.png       100x70  | 320x480  for IPhone and Android mdpi normal screen
baseImage@2.png     200x140 | 640x960  for IPhone 4
baseImage@ipad.png  213x149 | 768x1024 for IPads and Android mdpi xlarge screen
baseImage@hdpi.png  150x105 | 480x800  for Android hdpi normal screen

基于here

top 3 Android screen density and size
hdpi normal 66.3% 
mdpi normal 18.5%   
mdpi xlarge  4.9%   

首先,更改所有图像初始化代码以使用newImageRect() 它将以最接近的分辨率和比率加载相应的图像文件 如果找不到更好的拟合,它将加载基本图像。

local img = display.newImageRect("baseImage.png",100,70) 
--100 is base width
-- 70 is base height

然后为app.lua中的多个res图像设置app的基本分辨率和命名约定。

application =
{
    content =
    {
        width = 320,
        height = 480,
        scale = "letterBox",
        xAlign = "center",
        yAlign = "center",

        imageSuffix =
        {
            ["@2"] = 2,
            ["@ipad"] = 2.133, --1024/480
            ["@hdpi"] = 1.5,   --480/320
        },
    },
}

摘要:屏幕将缩放以显示屏幕上的所有内容。它会自动加载尽可能小的图像。缺点是在比率为1.5或更高的设备上,屏幕的左侧和右侧会有过多的黑色区域。

这就是我所希望的 我们还没有IPad 3(有一个荒谬的2048x1536资源)用于测试,所以我无法发表评论。

答案 3 :(得分:0)

根据您的游戏和内容,您确实有两种选择。

您可以使用魔术公式进行信箱缩放,如下所示: http://blog.anscamobile.com/2010/11/content-scaling-made-easy/

或者,如果需要,您可以将上述内容与加载不同分辨率的图像结合起来,如下所述:http://blog.anscamobile.com/2010/11/content-scaling-made-easy/

这意味着,您最终将覆盖超过90%的设备,并根据您的需求在不同设备上使用清晰的图形。