quickcocos2dx 3.3 拉伸适配
2015-11-10 13:54
561 查看
先修改display的代码 106到150行使用下面代码替换
if CONFIG_SCREEN_AUTOSCALE and CONFIG_SCREEN_AUTOSCALE ~="NONE" then
if type(CONFIG_SCREEN_AUTOSCALE_CALLBACK) == "function" then
scaleX, scaleY = CONFIG_SCREEN_AUTOSCALE_CALLBACK(w, h, device.model)
end
if CONFIG_SCREEN_AUTOSCALE == "FILL_ALL" then
-- CONFIG_SCREEN_WIDTH = w
-- CONFIG_SCREEN_HEIGHT = h
scale = 1.0
if cc.bPlugin_ then
glview:setDesignResolutionSize(CONFIG_SCREEN_WIDTH, CONFIG_SCREEN_HEIGHT, cc.ResolutionPolicy.EXACT_FIT)
else
glview:setDesignResolutionSize(CONFIG_SCREEN_WIDTH, CONFIG_SCREEN_HEIGHT, cc.ResolutionPolicy.FILL_ALL)
end
else
if not scaleX or not scaleY then
scaleX, scaleY = w / CONFIG_SCREEN_WIDTH, h / CONFIG_SCREEN_HEIGHT
end
if CONFIG_SCREEN_AUTOSCALE == "FIXED_WIDTH" then
scale = scaleX
CONFIG_SCREEN_HEIGHT = h / scale
elseif CONFIG_SCREEN_AUTOSCALE == "FIXED_HEIGHT" then
scale = scaleY
CONFIG_SCREEN_WIDTH = w / scale
else
if(scaleX > scaleY) then
scale = scaleX
CONFIG_SCREEN_HEIGHT = h / scale
else
scale = scaleY
CONFIG_SCREEN_WIDTH = w / scale
end
-- scale = 1.0
-- printError(string.format("display - invalid CONFIG_SCREEN_AUTOSCALE \"%s\"", CONFIG_SCREEN_AUTOSCALE))
end
glview:setDesignResolutionSize(CONFIG_SCREEN_WIDTH, CONFIG_SCREEN_HEIGHT, cc.ResolutionPolicy.NO_BORDER)
end
else
CONFIG_SCREEN_WIDTH = w
CONFIG_SCREEN_HEIGHT = h
scale = 1.0
end
然后在config中 CONFIG_SCREEN_AUTOSCALE = "FILL_ALL"
if CONFIG_SCREEN_AUTOSCALE and CONFIG_SCREEN_AUTOSCALE ~="NONE" then
if type(CONFIG_SCREEN_AUTOSCALE_CALLBACK) == "function" then
scaleX, scaleY = CONFIG_SCREEN_AUTOSCALE_CALLBACK(w, h, device.model)
end
if CONFIG_SCREEN_AUTOSCALE == "FILL_ALL" then
-- CONFIG_SCREEN_WIDTH = w
-- CONFIG_SCREEN_HEIGHT = h
scale = 1.0
if cc.bPlugin_ then
glview:setDesignResolutionSize(CONFIG_SCREEN_WIDTH, CONFIG_SCREEN_HEIGHT, cc.ResolutionPolicy.EXACT_FIT)
else
glview:setDesignResolutionSize(CONFIG_SCREEN_WIDTH, CONFIG_SCREEN_HEIGHT, cc.ResolutionPolicy.FILL_ALL)
end
else
if not scaleX or not scaleY then
scaleX, scaleY = w / CONFIG_SCREEN_WIDTH, h / CONFIG_SCREEN_HEIGHT
end
if CONFIG_SCREEN_AUTOSCALE == "FIXED_WIDTH" then
scale = scaleX
CONFIG_SCREEN_HEIGHT = h / scale
elseif CONFIG_SCREEN_AUTOSCALE == "FIXED_HEIGHT" then
scale = scaleY
CONFIG_SCREEN_WIDTH = w / scale
else
if(scaleX > scaleY) then
scale = scaleX
CONFIG_SCREEN_HEIGHT = h / scale
else
scale = scaleY
CONFIG_SCREEN_WIDTH = w / scale
end
-- scale = 1.0
-- printError(string.format("display - invalid CONFIG_SCREEN_AUTOSCALE \"%s\"", CONFIG_SCREEN_AUTOSCALE))
end
glview:setDesignResolutionSize(CONFIG_SCREEN_WIDTH, CONFIG_SCREEN_HEIGHT, cc.ResolutionPolicy.NO_BORDER)
end
else
CONFIG_SCREEN_WIDTH = w
CONFIG_SCREEN_HEIGHT = h
scale = 1.0
end
然后在config中 CONFIG_SCREEN_AUTOSCALE = "FILL_ALL"
相关文章推荐
- 详解Lua中的表的概念及其相关操作方法
- Lua编程示例(二):面向对象、metatable对表进行扩展
- 把Lua编译进nginx步骤方法
- Lua脚本自动生成APK包
- Lua中的元表(metatable)、元方法(metamethod)详解
- Lua中的metatable介绍
- Lua中ipair和pair的区别
- Lua中的函数精讲笔记
- 浅谈Lua的面向对象特性
- 详解Lua中的变量相关知识点
- Lua脚本语言入门笔记
- Lua脚本调用外部脚本
- 详解Lua中的if语句的使用方法
- Lua中调用函数使用点号和冒号的区别
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中强大的元方法__index详解
- Lua中调用C++函数示例
- Lua面向对象之类和继承浅析
- Lua性能优化技巧(一):前言
- Lua中获取table长度问题探讨