【Cocos2d-X(2.x) 游戏开发系列之三】最新版本cocos2d-2.0-x-2.0.2使用资源加载策略
?? 前段時間cocos2dx更新了最新版本cocos2d-2.0-x-2.0.2,也從這個版本開始對于資源加載與管理都改變了策略。
在之前的加載方式都是通過沿用與cocos2d-iphone一樣的加載資源方式,對于圖片名后添加-hd,-ipad,-ipadhd方式,當用戶開啟項目的高清視網膜后就可以默認尋找對應的資源。但是從cocos2d-2.0-x-2.0.2版本開始,資源加載策略不在如此了。
最新資源加載策略的機制如下:
??? 首先從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函數中打開高清視網膜后,添加如下代碼:(項目源碼 3_14_HDTest)
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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,這里Himi創建的hd、ipadhd、ipad的文件夾與Resources同一級,所以這里設置目錄為”../hd” ,”../ipad”,”../ipadhd”
附:
??? 設備枚舉變量如下:
????? kTargetWindows:?? window系統
????? kTargetLinux:? linux系統
????? kTargetMacOS:? mac os系統
????? kTargetAndroid:?? Android系統
????? kTargetIphone: iOS系統-iphone&itouch
????? kTargetIpad:????? iOS系統-Ipad
????? kTargetBlackBerry:?? 黑莓系統
Himi項目目錄如下圖3.14.3.1所示:
?
圖3.14.3.1? 項目目錄
本文轉自 xiaominghimi 51CTO博客,原文鏈接:http://blog.51cto.com/xiaominghimi/985742,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的【Cocos2d-X(2.x) 游戏开发系列之三】最新版本cocos2d-2.0-x-2.0.2使用资源加载策略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux6下kdump的配置
- 下一篇: 手机的基本功能测试---情景模式