前段時間cocos2dx更新了最新版本cocos2d2.0x2.0.2,也從這個版本開始對于資源加載與管理都改變了政策。
在之前的加載方式都是通過沿用與cocos2d-iphone一樣的加載資源方式,對于圖檔名後添加-hd,-ipad,-ipadhd方式,當使用者開啟項目的高清視網膜後就可以預設尋找對應的資源。但是從cocos2d2.0x2.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)
<a href="http://blog.51cto.com/xiaominghimi/985742#">?</a>
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
<code>TargetPlatform target = getTargetPlatform();</code><code>//擷取目前裝置類型</code>
<code>if</code> <code>(target == kTargetIpad){</code><code>//如果是Ipad</code>
<code> </code><code>if</code> <code>(pDirector->enableRetinaDisplay(</code><code>true</code><code>)){ </code><code>//如果開啟高清視網膜</code>
<code> </code><code>CCFileUtils::sharedFileUtils()->setResourceDirectory(</code><code>"../ipadhd"</code><code>);</code>
<code> </code><code>}</code><code>else</code> <code>{</code>
<code> </code><code>CCFileUtils::sharedFileUtils()->setResourceDirectory(</code><code>"../ipad"</code><code>);</code>
<code> </code><code>}</code>
<code> </code><code>}</code><code>else</code> <code>if</code> <code>(target == kTargetIphone) {</code><code>//如果是iphone</code>
<code> </code><code>if</code> <code>(pDirector->enableRetinaDisplay(</code><code>true</code><code>))</code>
<code> </code><code>{</code>
<code> </code><code>CCFileUtils::sharedFileUtils()->setResourceDirectory(</code><code>"../hd"</code><code>);</code>
<code> </code><code>}</code>
項目預設目錄為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,如需轉載請自行聯系原作者