著名的TexturePacker 已經升級到3.0了,下載地址: http://www.codeandweb.com/texturepackerhtml
免費 license 申請地址:
http://www.codeandweb.com/request-free-licenseios
TexturePacker 的使用很是簡單,啓動後的界面以下:程序員
看箭頭說明,只須要把包含小圖片的文件夾拖動到右側的‘Sprites’欄中便可,以下:web
能夠看到,TexturePacker當即生成了一個SpriteSheet。在左側TextureSettings中設置各類參數和文件輸出路徑:shell
點擊上方工具欄中的Publish,就能夠把對應的紋理圖片和數據文件輸出到指定位置了。xcode
上方Save按鈕能夠將整個設置保存成一個工程文件,之後作修改時能夠直接打開這個工程。app
TexturePacker 會」監聽「右側的Sprites文件夾,須要增長、刪除或修改單獨的圖片,只須要在直接在文件系統中增長、刪除或修改就能夠了,不須要再次從TexturePacker工程中添加或刪除,這是TexturePacker一個很是好用的功能。工具
TexturePacker支持的遊戲引擎和文件格式很是豐富,幾乎涵蓋了目前全部常見技術。優化
這是一個3.0中新曾的功能,也是我一直期待的。在此以前,想要製做retina和非retina的兩種spritesheet,須要手工操做:先 生成retina的spritesheet,調整scale參數爲0.5,修改輸入文件名稱,而後從新publish。雖然看起來不是很麻煩,可是對於遊 戲開發來講,這個過程天天可能要重複幾十次,出了錯還每每很難發現。ui
因此這是一個很是實用的功能:點擊左側設置中的AutoSD齒輪圖標:
在彈出框中能夠看到有幾個預設,這裏咱們選cocos2d hd/sd,點擊Apply,設置就會添加到下方的列表中:
列表中每一項表明一個新增的輸出設置,上圖中這個設置就是把現有設置縮放0.5倍,而後把文件擴展名中」-hd.」替換成」.」 因此在前面的基礎設置中,輸出文件名稱必定要是「-hd.」的後綴,如spritesheet-hd.png 和spritesheet-hd.plist,這樣這裏纔會正確識別。
設置完成後,點擊publish從新輸出,能夠看到,TexturePacker已經同事輸出了4個文件:
是不很爽啊,哈哈:)
雖然TexturePacker已經大大簡化了咱們生成SpriteSheet的過程,可是對於遊戲開發,咱們老是在不停的修改圖片,從新生成 SpriteSheet,這樣一個機械化的動做,明顯是在向程序員們挑釁。TexturePacker的做者Andreas顯然是個合格的程序員,早已經 爲你們作了命令行接口,讓這一切自動化吧:
#! /bin/sh TP=/usr/local/bin/TexturePacker if [ "${ACTION}" = "clean" ] then # remove sheets - 這裏要和 *.tps 中指定的輸出文件匹配 rm ../Resources/sheet*.png rm ../Resources/sheet*.plist else # 執行說有的tps工程文件,從新輸出全部SpriteSheet ${TP} *.tps fi exit 0
這樣,每次在XCode中build時,都會從新生成全部的SpriteSheet,不再用手工生成了,長此以往,你甚至會忘記TexturePacker的存在!
關於XCode的集成,TexturePacker官網有更詳盡的教程,參見:
關於TexturePacker,著名的RayWenderlich有一篇很是詳細的文章:
這篇文章的中文譯文是 @子龍山人 翻譯的,參見在cocos2d裏面如何使用Texture Packer和像素格式來優化spritesheet