小滿(bill man)個人原創,歡迎轉載,轉載請注明地址,小滿(bill man)的專欄地址http://blog.csdn.net/bill_man
在游戲中還有一個比較重要的元素,那就是精靈類,我們可以通過單張圖片或者是貼圖集的方式來生成精靈。精靈類的用法比較靈活,還有精靈批處理的方法幫助我們創建多個精靈并節約渲染效率。
精靈類的使用?

以上就是通過一個圖片的一部分來創建精靈類并把它加入到場景中的一個例子,第一個參數是圖片的路徑,第二個參數是從中劃分出來圖片的矩形。
1.精靈的批處理
當你需要顯示兩個或兩個以上相同的精靈時,如果逐個渲染精靈時,你的幀率會至少下降15%。你可以使用CCSpriteBatchNode來批處理這些精靈就可以避免幀率的下降,用它來作為父層(類似于layer)來創建子精靈,這樣可以提高程序的效率,我們首先來看一下api


有兩種創建CCSpriteBatchNode的方法,區別主要在第二個參數,第一個參數是貼圖集路徑,而另一個參數則是子節點的數量,當然,如果你使用第一種方法不顯式的定義子節點的數量的話,系統會使用默認值29,在運行時如果超過空間了,會增加33%的容量。使用的方法如下描述。

首先是定義,就如api中描述的那樣,然后加入到場景中。

在加入精靈時,只需通過標簽來獲得CCSpriteBatchNode,然后通過CCSpriteBatchNode的貼圖來創建精靈,并把精靈作為子節點加入到CCSpriteBatchNode中。
不過使用CCSpriteBatchNode有一個限制,就是所使用的圖片必須來自同一個文件,如果使用一張圖片來創建精靈,你將不能指定精靈的深度,這樣,所有的精靈都必須在同一渲染層,不過你可以使用貼圖集來避免這個問題,如果你的所有貼圖都在同一個文件里,那么你只需創建一個CCSpriteBatchNode就可以了。貼圖的大小必須滿足2的n次方。可以使用Zwoptex工具來制作貼圖,這是一個收費軟件,我想通過java或者C#寫一個類似的拼圖軟件也不是什么難事,大家可以嘗試一下。
2.設置錨點
可以通過setAnchorPoint設置錨點,(0,0)為左下,(0.5,0.5)為中心,(1,1)為右上,依次類推。
剛開始研究此引擎,如有錯誤之處,希望大家多多指正
下一篇寫一下動畫的使用
- 前言
- (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跨平臺初體驗