如果妳從來沒有使用過spritessheet,妳可以把它想象成壹個巨大的圖片,妳可以把許多sprite放在裏面。與spritesheet相對應的還有壹個plist文件,它指定了每個獨立sprite在這個“大圖”中的位置和大小。當您需要在代碼之間使用此sprite時,可以使用plist文件中的信息來獲取sprite。
為什麽這會提高效率?因為cocos2d已經優化了!如果使用spritesheet來獲取sprite,當場景中有許多sprite時,如果這些sprite*** * *享受壹個spritesheet,那麽cocos2d將使用OpenGL ES調用來渲染這些sprite。但是,如果是單個sprite,那麽將有n個OpenGL ES調用,這相當昂貴。
簡而言之——使用spritesheet會更快,尤其是當妳有很多sprite的時候!(使用spritesheet還可以減少遊戲占用的內存大小。
既然您想使用spritesheet,您當然可以使用圖片編輯器手動創建它,然後創建壹個plist來指定spritesheet中每個sprite的位置和大小。那麽,這將是壹個非常愚蠢的行為,因為羅伯特·佩恩開發了壹個非常有用的工具Zwoptex,它可以幫助我們自動生成所有這些內容!
Zwoptex勝利了!
如果妳沒有這個工具,妳可以從zwoptexapp.com下載。它有壹個免費的Flash版本和壹個付費安裝版本,但最近我使用了可安裝版本。
安裝此工具後,選擇文件\新建,您將看到壹個空白窗口。打開先前下載的熊的圖片,並將它們拖到此窗口中。
妳會看到所有熊的照片都疊在壹起。我們需要在spritesheet上展開它們,因此在布局部分單擊“應用”對它們進行排序。
這樣做時,您會註意到默認畫布(512×512)太小,無法容納所有的熊圖片。所以,會有壹些圖片堆疊在壹起。因此,我們在畫布部分將畫布更改為512×102 4,然後在布局部分單擊“應用”對它們重新排序。
我們幾乎完成了-但是請註意壹些熊的圖片比其他的更寬。如果您查看原始圖片,您會發現它與原始圖片的大小不同-這是因為Zwoptex默認情況下會裁剪掉圖片周圍的透明區域。
對於這些圖片,它們不是我們最終需要的,因為對於動畫來說,這些圖片的位置信息已經被混淆(由於透明區域的裁剪)。幸運的是,這很容易解決-在工具欄上選擇“取消修剪”,然後單擊“應用”。