Cocos2d-x的多分辨率支持教程(2)

2015年03月20日 13:58 0 点赞 0 评论 更新于 2025-11-21 17:52

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

针对不同的手机分辨率,应使用不同的资源分辨率。而且,即使是同一手机分辨率,使用不同的资源及资源分辨率,呈现的效果也会有所不同。本节课将详细介绍Cocos2d-x中的资源分辨率。

教学视频

(此处原文档未提供具体视频内容,可补充相关视频链接或详细说明)

课程笔记

资源路径

如果在实际分辨率较低的手机上使用大分辨率的纹理,会导致游戏包体积增大,同时浪费CPU与GPU的带宽、内存,还会增加耗电量。因此,针对不同分辨率使用不同尺寸的纹理,是优化游戏的基本方法。

我们可以将几套尺寸不同的纹理分别存放在不同的文件夹下,然后通过设置FileUtils::setSearchPaths来指定读取哪个文件夹下的纹理图片。这种方式不仅可以解决分辨率适配的问题,还能处理游戏中的换装等问题。若搜索路径不存在,系统会搜索文件名本身所在的路径。

资源分辨率

对于同一手机分辨率,使用Director::setContentScaleFactor设置不同的资源分辨率,会产生不同的效果,具体示例如下:

  1. 资源分辨率为1,实际纹理尺寸为300 * 200。
  2. 资源分辨率为2,实际纹理尺寸为300 * 200。
  3. 资源分辨率为2,实际纹理尺寸为600 * 400。

Director::getInstance()->getWinSizeInPixels()获取的是从资源分辨率角度而言的分辨率大小。

作者信息

boke

boke

共发布了 3994 篇文章