【问题标题】:Texture Atlases In Corona SDK and Retina/Multi-resCorona SDK 和 Retina/Multi-res 中的纹理图集
【发布时间】:2012-08-16 05:23:05
【问题描述】:

我试图在在线文档中找到更多信息,但他们在这方面仍然有点缺乏。

使用新的纹理图集 API 处理多种分辨率的正确方法是什么?我应该为每种分辨率提供不同的数据文件吗? Corona SDK 会自动找到正确的文件还是需要我自己处理分辨率检测?

即使只是指向应用此功能的文档页面的指针也足够了!

非常感谢!

【问题讨论】:

    标签: coronasdk


    【解决方案1】:

    Corona 将正确加载图像文件(.png 或 .jpg),并将手动加载工作表文件,然后对其进行缩放...

    如果您在制作适用于所有分辨率的工作表文件时遇到困难,一个好方法是手动加载适合该分辨率的工作表,然后使用 .xScale 和 .yScale 来更正分辨率。

    我将发布我自己的 Atlas 分辨率处理代码:

    -- Mauricio Gomes
    -- Kidoteca point class
    
    local scaleString = "";
    local scaleNumber = 1;
    local errorMessage = "ERROR: Please call autoResolution.init";
    local errorFunction = function() print(errorMessage); return errorMessage end;
    
    local autoResolution = {};
    
    function autoResolution.requireSheet( sheet )
        if autoResolution.SCALE == errorFunction then
            return errorFunction();
        end
        sheet = string.gsub(sheet, "/", ".");
        return require(sheet .. scaleString).sheet;
    end
    
    function autoResolution.requireInfo( sheet )
        if autoResolution.SCALE == errorFunction then
            return errorFunction();
        end
        sheet = string.gsub(sheet, "/", ".");
        return require(sheet .. scaleString);
    end
    
    function autoResolution.imageName( fileName, extension )
        if autoResolution.SCALE == errorFunction then
            return errorFunction();
        end
        return fileName .. scaleString .. "." .. extension;
    end
    
    -- variables about the scale settings
    
    function autoResolution.init()
        if display.contentScaleX <= 0.25 then
            scaleString = "@4";
            scaleNumber = 0.25;
        elseif display.contentScaleX <= 0.7 then
            scaleString = "@2";
            scaleNumber = 0.5;
        end
    
        autoResolution.SCALE = scaleNumber;
    end
    
    autoResolution.SCALE = errorFunction;
    
    return autoResolution;
    

    init 函数当然使用我公司 (Kidoteca) 使用的设置:后缀是 @2 和 @4,由于我们的一些内部原因,不完全是 0.5 是 @2。

    【讨论】:

    • 非常感谢您的帖子,我现在才看到!不知道为什么,但它不会授予我为您的答案 +1 的权限!
    猜你喜欢
    • 2011-07-23
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多