Unity 3D - IOS设置分辨率问题汇总

Unity 3D - IOS设置分辨率问题汇总 :

  • Screen.SetResolution一定要int值,在lua上设置要注意。

在lua上调用Screen.SetResolution传入的number型如果带有小数点,在IOS上会出现 分辨率错乱 问题,环境:(Unity版本2018.3.10f1)。

Unity 3D - IOS设置分辨率问题汇总_第1张图片
lua代码 :

--设置分辨率
function GameSettingManager:SetResolutionLevel(resolutionLevel)
    --没有读取到设备宽高 (分辨率)
    if not DeviceWidth or not DeviceHigh then
        Logger.Log("不存在设备分辨率")
        return
    end

    local width = DeviceWidth
    local height = DeviceHigh

    if ResolutionType.Low == resolutionLevel then
        local lowRate = 0.5
        width = width * lowRate
        height = height * lowRate
    elseif ResolutionType.Mid == resolutionLevel then
        local midRate = 0.8
        width = width * midRate
        height = height * midRate
    elseif ResolutionType.High == resolutionLevel then
        --保持原分辨率
    end

    width = math.floor(width)
    height = math.floor(height)
    Logger.Log("width : " .. width)
    Logger.Log("height : " .. height)
    CS.UnityEngine.Screen.SetResolution(width, height, true)
end
  • Screen.resolutions不可靠
    Unity 3D - IOS设置分辨率问题汇总_第2张图片

你可能感兴趣的:(Unity3D)