遊戲開發使用TexturePacker來生成圖片的atlas sheet, 工具非常好用。 一般GUI的方法, 新建一個tps檔案, 將要圖片載入進來,調整引數和輸出路徑, 最後點publish。

在實際的專案中, 需更新atlas sheet,每次都要開啟tps,等著TexturePacker啟動, 點publish,尤其是要支援多個裝置解析度的時候, 比如iphone, 需要至少iphone, iphone retina, iphone5三種解析度, 如果是同時支援ipad的,則需要5個tps檔案,像我的專案, 每個解析度有3個atlas sheet, 這樣美術資源更新時,最糟的情況需要5x3=15次手動開啟TexturePacker點publish的操作。 不但麻煩,而且容易出錯。

其實,可用TexturePacker提供的命令列工具, 將這些操作寫到腳本里, 每次執行一下指令碼就自動更新了。 TP的命令列工具非常強大,它提供了很多引數, 可以用命令列的方式從無到有建立atlas sheet(我猜想GUI實際就是呼叫的命令列)。去看TP的官網命令列介紹, 未免有些頭大,引數太多, 一下子不知道該怎麼寫。

好在大部分人都是已經有了tps檔案, 需要使用命令列來代替手動操作。如果是這樣,那麼那些選項就和你沒什麼直接關係了。你只需要在tps裡面, 把引數都設好, 然後終端裡執行一句:

  /usr/local/bin/TexturePacker xxx.tps

- 前者是TP命令列工具的預設路徑,注意, 要事先安裝命令列工具, 在TP裡點TexturePacker/Install Command Line Tool, 安裝到該預設路徑。

- 後者xxx.tps是你的tps檔案的路徑

只需要這一句話, 就相當於你點開TexturePacker, open xxx.tps檔案, 再點選publish.

另外, 還有個竅門,就是儘量使用Add Folder新增圖片, 每次只需將新的美術資源放到對應的資料夾下, 新的美術圖片自動會被打包,而無需啟動GUI手動新增圖片.這在美術資源經常變動時,非常方便.

注意, 很多例子(比如大名鼎鼎的Ray Wenderlich)將命令列整合到xcode中,每次clean的時候清除atlas sheet, 每次build的時候再重新生成. 這樣雖然帥氣, 但是我個人不推薦. 因為日常開發, 更新美術資源的情況畢竟是少數, 如果整合到xcode中,每次clean之後, 不管是否真的有美術資源的更新, 都要重新生成, 編譯的時間會增加很多, 一個大的atlas可能接近10M, 生成一個是需要一點時間的, 每次編譯這樣搞是完全沒有必要的. 所以我自己另外寫了個指令碼, 更新美術後, 執行一次即可.