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