在上一堂视频教程中,我们讲解了怎样匹配不同分辨率手机屏幕办法中的设计分辨率部分。

       针对不同的手机分辨率,应使用不同的资源分辨率;而且针对同一个手机分辨率,使用不同的资源及资源分辨率,效果也不一样。本节课将介绍Cocos2d-x中的资源分辨率。

教学视频

课程笔记

资源路径

如果在实际分辨率较低的手机,使用大分辨率的纹理,会使游戏包较大、浪费CPU与GPU的带宽、浪费内存、耗电等。所以针对不同分辨率使用不同尺寸的纹理,是优化游戏的基本方式。

将几套尺寸不同的纹理放到不同的文件夹下,然后通过设置FileUtils:setSearchPaths来确定读取哪个文件夹下的纹理图片。这种方式除了可以解决分辨率大小的问题,还可以解决,游戏中换装等问题。如果搜索路径不存在,则搜索文件名本身的路径。

资源分辨率

针对同一个手机分辨率,使用Director::setContentScaleFactor设置不同的资源分辨率(如下),会导致不同的效果。

1、资源分辨率为1,实际纹理尺寸为300*200

2、资源分辨率为2,实际纹理尺寸为300*200

3、资源分辨率为2,实际纹理尺寸为600*400

Director::getInstance()->getWinSizeInPixels()是从资源分辨率角度来说的分辨率大小。