前段时间cocos2dx更新了最新版本号cocos2d­2.0­x­2.0.2。也从这个版本号開始对于资源载入与管理都改变了策略。

在之前的载入方式都是通过沿用与cocos2d-iphone一样的载入资源方式,对于图片名后加入-hd,-ipad,-ipadhd方式,当用户开启项目的高清视网膜后就能够默认寻找相应的资源。可是从cocos2d­2.0­x­2.0.2版本号開始,资源载入策略不在如此了。对跨平台整合不清楚的请看cocos2dx最新2.x版本号跨平台整合NDK+Xcode

最新资源载入策略的机制例如以下:

首先从CCFileUtils的setResourceDirectory设置的文件夹中去寻找,假设找不到则会Resources/文件夹下找。

比如:

1)  设置文件夹:

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

当创建一个精灵时:

CCSprite * spr = CCSprite::create(“himi.png”);

Cocos2dx首先会到Resources/abc文件夹下寻找“himi.png”,假设找不到将回到Resources文件夹下寻找“himi.png”。

因此我们一般在AppDelegate.cpp的applicationDidFinishLaunching函数中打开高清视网膜后。加入例如以下代码:

TargetPlatform target = getTargetPlatform();//获取当前设备类型

 

if (target == kTargetIpad){//假设是Ipad

 

        if (pDirector->enableRetinaDisplay(true)){ //假设开启高清视网膜

 

            CCFileUtils::sharedFileUtils()->setResourceDirectory("../ipadhd");

 

        }else {

 

            CCFileUtils::sharedFileUtils()->setResourceDirectory("../ipad");

 

        }

 

    }else if (target == kTargetIphone) {//假设是iphone

 

        if (pDirector->enableRetinaDisplay(true))

 

        {

 

            CCFileUtils::sharedFileUtils()->setResourceDirectory("../hd");

 

        }

项目默认文件夹为Resources,这里创建的hd、ipadhd、ipad的文件夹与Resources同一级,所以这里设置文件夹为”../hd” ,”../ipad”,”../ipadhd”

附:

设备枚举变量例如以下:

kTargetWindows:   window系统

kTargetLinux:  linux系统

kTargetMacOS:  mac os系统

kTargetAndroid:   Android系统

kTargetIphone: iOS系统-iphone&itouch

kTargetIpad:      iOS系统-Ipad

kTargetBlackBerry:   黑莓系统

项目文件夹例如以下图3.14.3.1所看到的:

不再沿用-hd、-ipad、-ipadhd加入后缀方式 - 第1张 | 成功智慧网-专注游戏编程开发!" class="alignnone size-full wp-image-998" alt="【Cocos2d-X(2.x) 游戏开发之三】最新版本号cocos2d­2.0­x­2.0.2使用新资源载入策略!不再沿用-hd、-ipad、-ipadhd加入后缀方式 - 第1张 | 成功智慧网-专注游戏编程开发!" src="http://www.cgzhw.com/wp-content/uploads/2014/07/165.png" style="">

最新版本号cocos2d­2.0­x­2.0.2使用新资源载入策略!不再沿用-hd、-的更多相关文章

  1. 由源代码编译SpriteBuilder最新版本1.5.0搭配最新的Cocos2D 3.4.9

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 大家知道SpriteBuilder版本停留在1.4.9已经很久 ...

  2. 升级cocoapods 0.36.0之后,解决更新的部分依赖库,不是最新版本号的问题

    在升级到cocoapods 0.36.0之后,使用原本podfile配置,在又一次运行pod install之后,一些依赖库的版本号,低于github上的最新版本号.可依照下列配置.指定git,强制使 ...

  3. Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本号的开发环境

    写这篇博客时2D游戏引擎Cocos2d-x的最新版本号为2.1.4,记得非常久曾经使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs2010配置图文具体解释(亲測)>成功 ...

  4. maven设置每次构建获取最新版本号

    build.gradle中的依赖是通过设置maven依赖实现.我们知道,maven可以说是通过一个坐标定位来确定唯一一个包的,所说的坐标定位分别是groupId,artifactId和version三 ...

  5. Windows7 64位安装最新版本号MySQLserver

    Windows7 64位安装最新版本号MySQLserver 最近,一直在研究MySQL数据库.常常改动配置文件.导致MySQL数据库无法使用.不得不重复重装MySQL数据库.下面是在Windows7 ...

  6. 最新版本号MYSQL官网下载地址可是必需要注冊后才干下载

            因mysql5.0上运行函数不行,决定安装最新版本号的mysql,在网上找了些绿色版的.安装总报1067错误,网上的各种方法都试了,就是不行.浪费时间不说.郁闷死了,最后决定去官网,官 ...

  7. Android应用之——最新版本号SDK V2.4实现QQ第三方登录

    为什么要写这篇博客呢?由于.我在做这个第三方登录的时候,找了非常多资料,发现要么就是过时了.要么就是说的非常不清楚.非常罗嗦.并且非常多都是一些小demo,不是什么实例.甚至连腾讯官方的文档都有这个问 ...

  8. 【Android界面实现】SlidingMenu最新版本号使用具体解释

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 在非常久之前的一篇文章中,简单的介绍了一下开源项目SlidingMenu控件的使用,这一篇文章,将比較具体的 ...

  9. 【FastDev4Android框架开发】打造QQ6.X最新版本号側滑界面效果(三十八)

    转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/50253925 本文出自:[江清清的博客] (一).前言: [好消息] ...

随机推荐

  1. Android数据存储的5种方法

    --使用SharedPreferences存储数据 --文件存储数据 --SQLite数据库存储数据 --使用ContentProvider存储数据 --网络存储数据 Preference,File, ...

  2. 【转】linux read 用法

    转自:http://www.cnblogs.com/iloveyoucc/archive/2012/04/16/2451328.html 1.基本读取 read命令接收标准输入(键盘)的输入,或其他文 ...

  3. Java常用类库(三) : HashSet和LinkedList特点简析

    今天内容: l  浅撩HashSet集合元素不可重复的原理 l  使用LinkedList模拟栈和队列 1.浅撩HashSet集合元素不可重复的原理 我们知道HashSet是添加不了相同的元素的,其原 ...

  4. NSNotificationCenter 的使用详解

    通常我们在 iOS 中发生什么事件时该做什么是由 Delegate 实现的,例如 View 加载完后会触发 viewDidLoad.Apple 还为我们提供了另一种通知响应方式,那就是 NSNotif ...

  5. eclipse整合maven下载jar包速度慢问题解决

    引用:http://blog.csdn.net/u010154380/article/details/70339538 开发过程中在pom.xml中添加pom的时候,默认是需要从中央仓库中下载,但是下 ...

  6. jQuery实现页面锚点滚动效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 【PostgreSQL-9.6.3】事件触发器

    当预定的事件发生时,事件触发器就会被触发.由于事件触发器设计的权限比较大,所以只有超级用户才能创建和修改触发器. 1. 事件触发器支持的事件分三类:ddl_command_start, ddl_com ...

  8. 【MySQL】二进制分发安装

    操作系统:Red Hat Enterprise Linux Server release 6.5 Mysql安装包:mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz ...

  9. 删除ListView item数据 页面不刷新

    最近碰到一个匪夷所思的事情.就是我删除listView中一条item数据  网络请求成功了 但是页面不成功,一番折腾 ,找到问题 ,原来我给item 添加了北京点击事假,又给listView 被禁设置 ...

  10. TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具

    怀着鸡动的心情跟大家介绍一款国产开源运维软件TriAquae,轻松帮你搞定大部分运维工作!TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具,可以允许用户通过一台控制端管理上千 ...