天天看點

【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)

<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-&gt;enableRetinaDisplay(</code><code>true</code><code>)){ </code><code>//如果開啟高清視網膜</code>

<code>            </code><code>CCFileUtils::sharedFileUtils()-&gt;setResourceDirectory(</code><code>"../ipadhd"</code><code>);</code>

<code>        </code><code>}</code><code>else</code> <code>{</code>

<code>            </code><code>CCFileUtils::sharedFileUtils()-&gt;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-&gt;enableRetinaDisplay(</code><code>true</code><code>))</code>

<code>        </code><code>{</code>

<code>            </code><code>CCFileUtils::sharedFileUtils()-&gt;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&amp;itouch

      kTargetIpad:      iOS系統-Ipad

      kTargetBlackBerry:   黑莓系統

Himi項目目錄如下圖3.14.3.1所示:

圖3.14.3.1  項目目錄

本文轉自 xiaominghimi 51CTO部落格,原文連結:http://blog.51cto.com/xiaominghimi/985742,如需轉載請自行聯系原作者

繼續閱讀