课程概述
“Cocos2d-X的多分辨率支持(2)”课程概述
针对不同的手机分辨率,应使用不同的资源分辨率;而且针对同一个手机分辨率,使用不同的资源及资源分辨率,效果也不同。本节课将介绍Cocos2d-X中的资源分辨率。
课程笔记
资源路径
如果在实际分辨率较低的手机,使用大分辨率的纹理,会使游戏包较大、浪费cpu与GPU的带宽、浪费内存、耗电等。所以针对不同分辨率使用不同尺寸的纹理,是优化游戏的基本方式。
将几套尺寸不同的纹理放到不同的文件夹下,然后通过设置FileUtils:setSearchPaths来确定读取哪个文件夹下的纹理图片。这种方式除了可以解决分辨率大小的问题,还可以解决,游戏中换装等问题。如果搜索路径不存在,则搜索文件名本身的路径。
资源分辨率
针对同一个手机分辨率,使用Director::setContentScaleFactor设置不同的资源分辨率(如下),会导致不同的效果。
1、资源分辨率为1,实际纹理尺寸为300*200
2、资源分辨率为2,实际纹理尺寸为300*200
3、资源分辨率为2,实际纹理尺寸为600*400
Director::getInstance()->getWinSizeInPixels()是从资源分辨率角度来说的分辨率大小。
原文地址:
http://www.geekfaner.com/cocos2d-x/ReadCocos2dxSourceCode21.html