Cocos2d-x 開發輔助之Texture packer合併圖片

Texture packer的確比Zwoptex更加強大,功能更多,跨平臺,在使用cocos2d-x在win32下開發的時候,能夠在win32下使用的優點就更加明顯了。何況Zwoptex以前是完全免費的,在用戶多了以後坑爹般的開始收費了,連個可用的免費版本都沒有(只有自己保留的老版本可用),而Texture packer一直有可用的免費版本,雖然Pro版本貴的離譜.

  Texture packer的主界面如下:

enter image description here

1.Add Sprites

上圖中的樣子就是用Add sprite功能,添加了cocos2d的示例圖片後的樣子。texture packer能夠自動的用較爲優化的算法來排列圖片,使得佔用空間儘量的少,作爲初級版本,沒有一些包括裁剪在內的高級功能(在強行使用高級功能後,會有 提示,也可以導出圖片,但是會隨機在某些圖片上印上一些英文文字)

2.設置導出文件的位置

enter image description here

  這個位置是一個絕對位置,此時可以保存一份texture packer的工程。這個工程會記錄這個導出的位置。有一點用戶體驗非常好的地方是設置了plist的位置後,texture的爲止texture packer會自動生成一個。

3.導出

  點擊publish按鈕即可。將來在原始圖片更改的時候,直接載入這個工程,然後也只需要再次點擊public按鈕即可,會同時生成plist和texture文件。相當易用。

  Enable auto alias非常有用,可以將相同的圖片自動合併,對於三維導出的序列幀和flash自動導出的序列幀動畫,常常可以節省很多空間。

  到目前爲止,這已經很強大了。但是Texture packer的強大不僅如此,手工編輯再方便,也不如自動化來的快~~~~

  Texture packer在安裝後,在安裝目錄下(windows)會有一個叫texture packer的可運行文件,直接將剛纔生成的tps文件作爲參數傳進去,就能自動的生成~~~再配合VS或者XCode的工程配置,完全可以做到生成程序 的時候對texture的全自動化處理。(不過這個需要pro的license)

4.程序中的使用

  先通過以下接口預加載

  void CCSpriteFrameCache::addSpriteFramesWithFile(const char *pszPlist)

  然後通過以下接口使用:

  CCSpriteFrame* CCSpriteFrameCache::spriteFrameByName(const char *pszName)

  CCSprite* CCSpriteFrameCache::createSpriteWithFrameName(const char *pszName)

  CCSpriteFrameCache本身是個單件。

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