我的游戏框架比屏幕大一点。在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有人可以帮助我吗?我不知道如何让它适用于所有设备。
答案 0 :(得分:0)
听起来你需要完全阅读配置文件和动态扩展。
这个问题有点宽泛,我建议你阅读这篇关于“最终配置/现代化配置”的文章。
有些屏幕更宽,而有些则更窄。如果我们从等式中取出分辨率,则更容易可视化屏幕。使用动态缩放功能,Corona可以轻松地将分辨率从图像中分离出来。使用Dynamic Scaling,您可以使用一组通用的屏幕坐标,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,
},
},
}