深入理解SpriteSheet(精靈表單)概念

2021-07-11 14:46:59 字數 828 閱讀 7699

最近在學習cocos2d for iphone,終於摸清了點頭緒。

假如我們現在做乙個動畫,我們要把一張張的動畫幀加到資源資料夾中,我的例子就是炮炮兵扭腰動畫。它由8個動畫幀組成(也就是8個)。我們可以基於這些單個的來建立動畫。

這樣做不是最優化的,浪費了大量的記憶體空間。往下看!

在cocos2d裡面,還有另一種更加高效的方式來建立動畫--那就是使用spritesheet。

每張有它的畫素(pixel)大小,每個畫素點都需要額外的記憶體空間來儲存它的color,一般顏色都是32位的,rgba的,佔了四個位元組。每張都需要額外的顏色空間,為什麼不將所有的合成到乙個image上呢。基於這樣的需求,texturepacker工具就誕生了。

這個工具可以將這這8個合成到一張image上面,並生成.plist檔案,這個檔案說明的是的名字和該動畫幀在這個大image(這裡說的大不是說佔的空間大啊,而是容納了8個炮炮兵)裡的位置等資訊。具體大家可以自己研究一下。合成的效果如下圖所示:

使用spritesheet會使動畫的執行效率更高,無需對每個紋理貼圖進行渲染,直接對那個大image渲染一次即可。當然這個功能不僅僅是用來做動畫的。當越多,優勢就越明顯。

這個可移動的是響應觸控事件的。順便學習下cocos2d裡面的touch處理。

深入理解C語言 深入理解指標

關於指標,其是c語言的重點,c語言學的好壞,其實就是指標學的好壞。其實指標並不複雜,學習指標,要正確的理解指標。指標也是一種變數,占有記憶體空間,用來儲存記憶體位址 指標就是告訴編譯器,開闢4個位元組的儲存空間 32位系統 無論是幾級指標都是一樣的 p操作記憶體 在指標宣告時,號表示所宣告的變數為指...

mysql 索引深入理解 深入理解MySql的索引

為什麼索引能提高查詢速度 先從 mysql的基本儲存結構說起 mysql的基本儲存結構是頁 記錄都存在頁裡邊 各個資料頁可以組成乙個雙向鍊錶每個資料頁中的記錄又可以組成乙個單向鍊錶 每個資料頁都會為儲存在它裡邊兒的記錄生成乙個頁目錄,在通過主鍵查詢某條記錄的時候可以在頁目錄中使用二分法快速定位到對應...

深入理解C語言 深入理解指標

關於指標,其是c語言的重點,c語言學的好壞,其實就是指標學的好壞。其實指標並不複雜,學習指標,要正確的理解指標。指標也是一種變數,占有記憶體空間,用來儲存記憶體位址 指標就是告訴編譯器,開闢4個位元組的儲存空間 32位系統 無論是幾級指標都是一樣的 p操作記憶體 在指標宣告時,號表示所宣告的變數為指...