cocos2d-x for wp之TexturePackerGUI工具使用

在很多情況下,我們在cocos2d-x 加載精靈都是一張一個精靈的加載。這種方法對於較少的精靈存在的遊戲是比較方便的。但是一旦精靈很多,我們就沒必要一個個加載了。

在cocos2d有一種將很多圖片保存成爲一張大圖片,然後獨取出來單獨使用,這個方法就是plist的圖片幀文件,它能極大的減小圖片體積,最重要的是大圖就能符合2的N次冪寬高的要求了。

先看看沒有使用plist文件時的文件大小:(6M多,恐怖!)

TexturePackerGUI是專門製作cocos2d plist文件的軟件,這個軟件最好的優勢是有Windows版本的。下面是簡單的使用方法:

打開TexturePackerGUI,將前面的開始界面素材拖入到窗口的右側欄中。

建議將DataFormat改成cocos2d-0.99.4,然後點擊Publish按鈕,保存爲game.plist,瀏覽位置就會發現多出一個game.png(你保存在哪裏,圖片就在那裏生成加載),它們之間是對應的。將其添加到Content工程裏,然後做如下兩個修改:

1、修改一下game.png的Content Processor內Textrue Format屬性爲DxtCompressed。(注意圖片的位置,一般都要和plist文件分開存放,不然會有同名錯誤)

2、修改game.plist的輸入和輸出管線,因爲plist需要cocos2dxna的獨特的內容管線,所以先添加引用:

然後選擇game.plist屬性,將輸入和輸出的管線修改:

下一步就是如何在代碼中使用plist文件:

View Code
 public PlistClass()
        {
            //base.init();
            CCSpriteFrameCache.sharedSpriteFrameCache().addSpriteFramesWithFile
                ("game", "plist/images/game");
            CCSprite background = CCSprite.spriteWithSpriteFrameName("GameMenuImg.png");
            background.position = new CCPoint(400, 240);
            addChild(background, 0);

            CCSize s = CCDirector.sharedDirector().getWinSize();
            CCMenuItemSprite sMenu = CCMenuItemSprite.itemFromNormalSprite
                (CCSprite.spriteWithSpriteFrameName("Start.png"),
                CCSprite.spriteWithSpriteFrameName("Start.png"), this, sss);
            CCMenu menus = CCMenu.menuWithItems(sMenu);
            menus.alignItemsVerticallyWithPadding(20);
            addChild(menus);
}

這段代碼中使用CCSpriteFrameCache載入了plist文件和png文件,用它們來提前所需要的圖片幀,之後在程序中使用,CCSpriteFrameCache是一個倉庫,使用文件名來標識所有的內容資源,CCSprite.spriteWithSpriteFrameName能夠直接依據文件名從中取出使用。

但是,效果嘛。。。

看到上圖的紅色沒,用TexturePackerGUI工具publish之後居然顏色改變了。後來上網查了才知道,這是因爲沒有license造成的。如果購買的話,需要264.72塊(這還是作者發回郵件給我時提到的一個錯誤!失敗啊!!!)我想,很多中國人應該都不會自己掏腰包買。如果是公司就另算了。不過有個好消息是,該軟件的作者有提供免費的license給我們,但是要自己申請。

同時,這是我本人經驗強力推薦,與其去百度一個TexturePackerGUI工具,還不如直接去官網下載,不需要什麼破解版,你也可以去找作者申請license!

我去到TexturePackerGUI的官網找了一下,地址如下

http://www.codeandweb.com/texturepacker/support,瀏覽到網頁中間部分,

有個“Free version” 裏面有

“Where can I get the free license?Just fill out the Request Free License form.

I'll have a look at your blog and if it fits the requirements you'll receive an email with the license keys.”

填寫自己的資料然後就看人品了。

很高興,我今天終於收到了作者給我的回執,非常感謝你,Andreas Löw。我會好好利用它的!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章