小滿(bill man)個人原創,歡迎轉載,轉載請注明地址,小滿(bill man)的專欄地址http://blog.csdn.net/bill_man
上一篇主要講的是精靈類,和精靈類經常配合的就是動畫類,動畫類也有非常多的特性和應用。
建立動畫幀集合,即導入貼圖文件.png和導入貼圖文件的配置文件.plist,如下例所示

首先是獲得cache,然后是通過addSpriteFrameWithFile加入貼圖文件.png和導入貼圖文件的配置文件.plist,第一個參數為.plist的路徑,第二個參數為.png文件的路徑,一個參數的函數的png文件的文件名與.plist文件相同。也就是說第一個addSpriteFrameWithFile的貼圖文件的路徑為animations/grossini.png。
關于plist文件,網上有一些工具可以生成,當然你可以使用Zwoptex(需付費),其實只是生成一個配置文件而已,你也可以自己編寫這個小工具(本人打算嘗試一下),plist文件的結構很像xml等文件,編寫一個這樣的工具也不是難事。當然,網上也有一些這樣的工具。
2.生成逐幀動畫CCSpriteFrame,見下圖代碼

首先通過CCMutableArray生成一個CCSpriteFrame數組,然后通過循環初始化每一幀的內容,每幀的CCSpriteFrame通過上面定義好的cache獲得。
3.生成CCAnimation
??這個步驟很簡單,就是通過CCSpriteFrame數組生成CCAnimation

這個函數有一個可選的參數,就是每幀的延遲,見api

這個就是一個參數的

第二個參數就是延遲時間
4.定義并執行CCAnimate
?到這一步,終于可以定義動畫了,第一個參數是CCAnimation,第二個參數如果置為true那么將在動畫結束回到原始幀,否則將不會回到原始幀。如下例

當然,如果覺得這個步驟繁瑣,有一種相對簡便的,就是不通過cache,而是從貼圖生成每幀的數組,之后的步驟同上。
首先,通過貼圖逐幀生成數組,如下

然后在生成CCAnimation,進一步再CCAnimate,如下

補充CCSprite的一個知識點,就是通過reorderChild來改變精靈的層次,從而改變遮擋關系
剛開始研究此引擎,如有錯誤之處,希望大家多多指正
下一篇寫一下schduler和控制屏幕朝向
- 前言
- (1)--HelloWorld
- (2)--重要概念及Test例子結構
- (3)--動作(CCAction)
- (4)--觸屏事件
- (5)--動作管理
- (6)--場景間切換效果
- (7)--CCProgressTimer
- (8)--場景特效
- (9)--粒子系統
- (10)--運動中的加速度效果
- (11)--拖動間隱效果
- (12)--圖形繪制
- (13)--內存回收機制
- (14)--菜單項
- (15)--CCOrbitCamera
- (16)--LayerColor
- (17)--瓦片地圖集
- (18)--Lable
- (19)--物理引擎box2d(1)
- (20)--物理引擎box2d(2)
- (21)--精靈類
- (22)--動畫類
- (23)--其他(屏幕旋轉,schedule,系統語言)
- (24)--音樂音效
- (25)--CCRenderTexture
- (26)--其他(游戲存檔,切換高清,圖片處理)
- (27)--CCMutableArray
- (28)--CCTMXTiledMap
- (29)-cocosBuilder
- (30)2.1新特性之CCClippingNode
- (31)2.1新特性CCPhysicsSprite
- (32)-cocos2d-x & javascript跨平臺初體驗