Cocos2d-x的多分辨率支持教程(2)
在上一堂视频教程中,我们讲解了匹配不同分辨率手机屏幕方法中的设计分辨率部分。
针对不同的手机分辨率,应使用不同的资源分辨率。而且,即使是同一手机分辨率,使用不同的资源及资源分辨率,呈现的效果也会有所不同。本节课将详细介绍Cocos2d-x中的资源分辨率。
教学视频
(此处原文档未提供具体视频内容,可补充相关视频链接或详细说明)
课程笔记
资源路径
如果在实际分辨率较低的手机上使用大分辨率的纹理,会导致游戏包体积增大,同时浪费CPU与GPU的带宽、内存,还会增加耗电量。因此,针对不同分辨率使用不同尺寸的纹理,是优化游戏的基本方法。
我们可以将几套尺寸不同的纹理分别存放在不同的文件夹下,然后通过设置FileUtils::setSearchPaths来指定读取哪个文件夹下的纹理图片。这种方式不仅可以解决分辨率适配的问题,还能处理游戏中的换装等问题。若搜索路径不存在,系统会搜索文件名本身所在的路径。
资源分辨率
对于同一手机分辨率,使用Director::setContentScaleFactor设置不同的资源分辨率,会产生不同的效果,具体示例如下:
- 资源分辨率为1,实际纹理尺寸为300 * 200。
- 资源分辨率为2,实际纹理尺寸为300 * 200。
- 资源分辨率为2,实际纹理尺寸为600 * 400。
Director::getInstance()->getWinSizeInPixels()获取的是从资源分辨率角度而言的分辨率大小。