我当前的配置文件适用于ipad视网膜,它可以正常工作,但是当我选择屏幕较小的设备时,图像会变形。 这是我目前的config.lua
application = {
content = {
width = 768,--aspectRatio > 1.5 and 800 or math.ceil( 1200 / aspectRatio ),
height = 1024,
scale = "none",
fps = 60,
imageSuffix = {
["@2x"] = 1.3,
}
}
}
我想知道是否有办法动态设置宽度或高度,而无需为每个个体设备硬编码这些数字。
答案 0 :(得分:4)
我使用信箱缩放。
application =
{
content =
{
width = 320,
height = 480,
scale = "letterbox",
xAlign = "center",
yAlign = "center",
imageSuffix =
{
["@2"] = 1.8,
["@4"] = 3.6,
},
},
}
然后我可以使用display.newImageRect,提供320,480设备分辨率的图像尺寸。 @ 2和@ 4图像后缀是2x和4x的图像。
以下是让您了解电晕放大功能的优秀文章: http://coronalabs.com/blog/2010/11/20/content-scaling-made-easy/
答案 1 :(得分:3)
我建议你阅读这篇关于"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 = {
["@2x"] = 1.3,
},
},
}