首先要解釋一下,爲何要使用TexturePacker?node
這是應爲咱們作的遊戲最終要運行在Android手機或者蘋果手機上,而Android或者ios系統使用的是OpenGL ES來渲染。因此咱們要針對OpenGL ES來進行優化。ios
內存方面,OpenGL ES紋理要求寬和高都是2的n次冪的倍數。想想,若是圖片的寬爲33,而高爲65,那麼圖片加載到內存後的大小爲多少?考慮到寬和高都是2的n次冪,因此加載到內存後的大小是64*128。因此咱們能夠考慮將小的圖片拼成到的圖片,而後加載。工具
渲染速度方面,OpenGL ES要求切換的紋理少,因此將圖片拼成大圖片,這樣就減小了紋理的切換。優化
因此使用TexturePacker是頗有必要的。spa
打開TexturePacker,點擊Add Folder,將圖片所有加載進來。注意:咱們應該事先將要拼湊的圖片放到同一個文件夾下。.net
這樣。TexturePacker就自動將咱們要拼湊的圖片拼成了一個大圖,而且大圖的寬和高都是2的n次冪的倍數。orm
下面設置輸出格式:blog
Texture format設置成PNG。而後選擇Data file和Texture file的保存位置。點擊工具欄上的Publis。這樣咱們就獲得了plist文件和png文件。遊戲
下面就是在cocos2d-x中使用這兩個文件。圖片
將這兩個文件複製到Resources文件夾中。
使用下面的代碼加載着兩個文件
接着建立一個CCSpriteBatchNode,將要渲染的精靈加載到CCSpriteBatchNode。
而後就是建立精靈而且加載精靈了。
其中「bird.png」是小圖片的名字。注意:CCSpriteBatchNode中的Sprite都要用同一個紋理。
本文出自:http://blog.csdn.net/zhy_cheng/article/details/8680931
===============================================================
說明:
1.當點擊 Add Folder時,是選擇一個特定的文件夾,在選擇有存儲圖片的文件夾時不會顯示此文件夾下的全部圖片,即顯示是一個空文件夾。不要理會這些,直接到存放圖片的文件夾目錄,而後點擊選擇文件夾。
2.能夠在左邊設置輸出的數據文件的路徑(通常數據文件路徑和紋理文件路徑是相同的),若是在左邊沒有設置相關的路徑,那麼在點擊Publish時會彈出保存框。建議在左邊設置保存路徑,由於在左邊除了能夠設置保存路徑外,還能夠設置保存的紋理圖片的格式,能夠是.png格式的也能夠是.bmp格式的。