猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!

原文地址: http://www.cocos2dev.com/?p=304

在cocos2d-x 2.x版本中,iphone设备设置Retina高清模式已经不是原来的在高清图后面加-hd后缀了。2.x以前开启高清模式之后,底层会在addImage的时候自动在图片名称后面加-hd,优先加载-hd的图片,没有-hd的话,在加载原始图。(ipad是-ipad,ipad高清是-ipadhd)。2.0.3已经移除了这个模式(好像是2.0.2就改了),2.x之后将文件管理写成了一个共享单例类:CCFileUtils::sharedFileUtils();在加载图片的时候,会根据图片名称优先在getResourceDirectory()这里找资源,没有的话去resource目录下找。

比如:程序开始时候,我们设置

CCFileUtils::sharedFileUtils()->setResourceDirectory(“HD”);

那么所有的加载图片都会优先在 resource/HD 这个目录下面找,没有的话在resource目录找。所以在开启Retina高清模式的时候就不能用以前的方式把高清图加后缀-hd,而是应该在resource目录下,新建一个目录专门放高清图。

在AppDelegate中,开启高清模式,并设置优先寻找图片目录为resource/HD。

pDirector->enableRetinaDisplay(true);

在2.1版本,已经去掉了手动开启retina了,改为默认开启。如果要使项目完美支持retina, 用setDesignResolutionSize(640, 960, kResolutionExactFit)较简单

CCFileUtils::sharedFileUtils()->setResourceDirectory(“HD”);

vector<string> searchPaths;
searchPaths.push_back("HD");
CCFileUtils::sharedFileUtils()->setSearchPaths(searchPaths);

然后把高清的图放在resource/HD的目录下就可以了,不需要加后缀-hd。

在这里也可以获取设备信息,根据不同设备设置不同的目录。当然如果不想把高清图放在resource也是可以的。

比如:CCFileUtils::sharedFileUtils()->setResourceDirectory(“../HD”);

这样HD应该是和resource处于同级目录下。

资源文件名重复怎么办?

because Apple uses virtual paths, all the resources are copied to the root of this folder. So if you have multiple resources of the same name, which the setResourceDirectory method requires, when xcode deploys to the simulator it

will copy one file and then copy the second over the first.
The solution is to remove the folder referenced by setResourceDirectory from the project and re-add it; but when you add the resources select: "Create folder references for any added folders".

cocos2d-x 2.0.3 设置高清模式注意事项(已移除-hd方式)的更多相关文章

  1. Cocos2D瓦块地图高清屏(retina)显示比例问题的解决

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在Cocos2D的游戏编程里,常用到瓦块地图.而cocos2D ...

  2. 亮相 LiveVideoStackCon,透析阿里云窄带高清的现在与未来

    2021.4.16-4.17,阿里云视频云亮相 LiveVideoStackCon 音视频技术大会上海站,带来三场不同视角的主题演讲,并与众多行业伙伴一同交流.在 "编解码的新挑战与新机会& ...

  3. Swift开发小技巧--扫描二维码,二维码的描边与锁定,设置扫描范围,二维码的生成(高清,无码,你懂得!)

    二维码的扫描,二维码的锁定与描边,二维码的扫描范围,二维码的生成(高清,无码,你懂得!),识别相册中的二维码 扫描二维码用到的三个重要对象的关系,如图: 1.懒加载各种类 // MARK: - 懒加载 ...

  4. Cocos2D iOS之旅:如何写一个敲地鼠游戏(二):Cocos2D中的高清支持

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  5. Cocos2D iOS之旅:如何写一个敲地鼠游戏(一):高清屏显示和UIKit

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  6. cocos2D v3.4 在TileMap中开启高清显示

    在Tiled中制作一幅地图,用的图片砖块分辨率为32x32. iOS设备为iPhone 4s. 在未打开高清屏支持的cocos2d v2.x版本中,运行log显示480x320.遂启用高清屏支持: [ ...

  7. Movist for Mac(高清媒体播放器)v2.0.7中文特别版

    Movist for Mac中文破解版是目前Mac平台上最好用的视频播放器,功能强大简单好用.movist mac版拥有美观简洁的用户界面,提供多种功能,支持视频解码加速高品质的字幕,全屏幕浏览,是与 ...

  8. android 高清壁纸设置慢

    由于项目的需要最近在解决一个 bug  在1080p 的手机上面设置壁纸会很慢慢,慢的原因是和壁纸 的大小 有关,壁纸越大,时间直越长,一般1080 p 的壁纸大概有10M左右, 所以通过文件流 来保 ...

  9. 怎么在高清屏上画一条0.5px的边

    怎么在高清屏上画一条0.5px的边呢?0.5px相当于高清屏物理像素的1px.这样的目的是在高清屏上看起来会更细一点,效果会更好一点,例如更细的分隔线. 理论上px的最小单位是1,但是会有几个特例,高 ...

随机推荐

  1. java.lang.NullPointerException: Attempt to invoke virtual method 'void 、Handler.removeMessages(int)' on a null object reference

    onDestory进行释放Handler时,需要判断null if(null != mHandler) {             mHandler.removeMessages(MSG_CHANGE ...

  2. Android 向系统发送一条短信

    s //向系统写一条短信 ContentValues contentValues = new ContentValues(); contentValues.put("body",& ...

  3. 使用Qt实现简单的图片预览效果 good

    http://www.cnblogs.com/appsucc/archive/2012/02/28/2371506.html Qt之实现工具箱界面程序 http://www.cnblogs.com/a ...

  4. 【CF】196 Div.2 D. Book of Evil

    显然这个图是一课树,看着题目首先联想到LCA(肯定是可以解的).但是看了一下数据大小,应该会TLE.然后,忽然想到一个前面做过的题目,大概是在一定条件下树中某结点旋转成为根后查询最长路径.结果灵感就来 ...

  5. 教程:使用 MongoDB、WCF、OData 和 PowerBI 构建 Azure 上的商业智能解决方案

     发布于 2014-05-20 作者 陈 忠岳 目录 概述 前提条件 创建 Windows Server 2012 Datacenter 虚拟机 通过 WCF(Windows Communicat ...

  6. 知乎上关于c和c++的一场讨论_看看高手们的想法

    为什么很多开源软件都用 C,而不是 C++ 写成? 余天升 开源社区一直都不怎么待见C++,自由软件基金会创始人Richard Stallman认为C++有语法歧义,这样子没有必要.非常琐碎还会和C不 ...

  7. sql递归函数(自定义函数递归查找) 能返回递归的层次

    实现效果图如下: 创建表: create table t_tree ( id int IDENTITY(1,1), parentid int, name varchar(10) ) go 插入测试数据 ...

  8. JavaScript---网络编程(1)-介绍、变量、运算符与语句

    JavaScript也是一种编程语言.并不是Java的分支哦. 可以直接在浏览器中运行的编程语言. JavaScript 的历史故事: 1.JavaScript语言与名称的由来(Netscape,Su ...

  9. [leetcode]二分查找总结

    Search for a Range 1.最简单的想法,用最普通的二分查找,找到target,然后向左右扩张,大量的重复的target,就会出现O(n)效率. class Solution { pub ...

  10. window7电脑设置好了,却无法远程?

    设置远程连接: 步骤:右键[我的电脑]-->[属性] 点击[远程设置],然后设置如下: 在 cmd 中 通过 [ipconfig]命令查看IP: 以上设置好了,发现仍无法远程?解决办法如下: 电 ...