TexturePacker 的使用很是簡單,啓動後的界面以下:html
看箭頭說明,只須要把包含小圖片的文件夾拖動到右側的‘Sprites’欄中便可,以下:ios
能夠看到,TexturePacker當即生成了一個SpriteSheet。在左側TextureSettings中設置各類參數和文件輸出路徑:程序員
點擊上方工具欄中的Publish,就能夠把對應的紋理圖片和數據文件輸出到指定位置了。web
上方Save按鈕能夠將整個設置保存成一個工程文件,之後作修改時能夠直接打開這個工程。shell
TexturePacker 會」監聽「右側的Sprites文件夾,須要增長、刪除或修改單獨的圖片,只須要在直接在文件系統中增長、刪除或修改就能夠了,不須要再次從TexturePacker工程中添加或刪除,這是TexturePacker一個很是好用的功能。xcode
TexturePacker支持的遊戲引擎和文件格式很是豐富,幾乎涵蓋了目前全部常見技術。app
這是一個3.0中新曾的功能,也是我一直期待的。在此以前,想要製做retina和非retina的兩種spritesheet,須要手工操做:先生成retina的spritesheet,調整scale參數爲0.5,修改輸入文件名稱,而後從新publish。雖然看起來不是很麻煩,可是對於遊戲開發來講,這個過程天天可能要重複幾十次,出了錯還每每很難發現。工具
因此這是一個很是實用的功能:點擊左側設置中的AutoSD齒輪圖標:優化
在彈出框中能夠看到有幾個預設,這裏咱們選cocos2d hd/sd,點擊Apply,設置就會添加到下方的列表中:ui
列表中每一項表明一個新增的輸出設置,上圖中這個設置就是把現有設置縮放0.5倍,而後把文件擴展名中」-hd.」替換成」.」 因此在前面的基礎設置中,輸出文件名稱必定要是「-hd.」的後綴,如spritesheet-hd.png 和spritesheet-hd.plist,這樣這裏纔會正確識別。
設置完成後,點擊publish從新輸出,能夠看到,TexturePacker已經同事輸出了4個文件:
是不很爽啊,哈哈:)
雖然TexturePacker已經大大簡化了咱們生成SpriteSheet的過程,可是對於遊戲開發,咱們老是在不停的修改圖片,從新生成SpriteSheet,這樣一個機械化的動做,明顯是在向程序員們挑釁。TexturePacker的做者Andreas顯然是個合格的程序員,早已經爲你們作了命令行接口,讓這一切自動化吧:
爲項目須要的每一個SpriteSheet創建一個TexturePacker工程文件,作好各類設置,將其添加到XCode工程中。
在XCode中添加一個build phase,如何添加參考https://developer.apple.com/library/ios/#recipes/xcode_help-project_editor/Articles/AddingaRunScriptBuildPhase.html shell命令以下:
#! /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
————————————分割線———————————
除了以上的說明外,在軟件使用時有兩點須要注意:
一、拖至窗口中的圖片文件夾,其中不能存在該軟件不支持的格式的任何文件,好比設計圖片時.psd文件,不然該文件夾必須從窗口刪除;
二、將多個文件夾拖入窗口時,須要保證每一個文件名不重複。
關於軟件的受權問題,雖然該軟件不是免費的,可是但願各位能尊重做者勞動成果和軟件的版權。
須要免費License的朋友能夠經過如下連接向做者申請:http://www.codeandweb.com/request-free-license
最後,再次感謝軟件的做者:Andreas先生。