小滿(bill man)個人原創,歡迎轉載,轉載請注明地址,小滿(bill man)的專欄地址http://blog.csdn.net/bill_man
在寫cocos2d-x游戲示例的時候,如果發現一些在初探筆記中的遺漏之處,我會隨時補充上來,今天補充的就是cocos2d-x中帶有的vector----CCMutableArray,我很推薦在cocos2d-x引擎中不使用vector,而是直接使用CCMutableArray,因為它的內存管理方式和cocos2d-x很接近,更方便我們使用,剩下的部分,它也是支持template的,和vector一樣。我們首先來看一下創建方法
CCMutableArray<AstarItem*>*?path?=?new?CCMutableArray<AstarItem*>();
我們可以使用自己創建的類作為template,這里是我準備寫游戲示例的A星算法中準備用到的部分,我使用了自己的template-----AstarItem(我會在游戲示例中解釋這個例子)
以下是這個類常用的一些方法:
~~~
path->addObject(temp1);//添加一個對象,添加到最尾部
path->containsObject(temp);//數組中是否包含這個元素
path->copy();//復制這個數組
path->count();//數組中的元素個數
path->getIndexOfObject(temp1);//獲得數組的索引
path->getLastObject();//獲得最后一個對象
path->getObjectAtIndex(i);//根據索引獲得相應的對象
path->insertObjectAtIndex(close->getObjectAtIndex((path->getObjectAtIndex(0))->getfid()),0);//在索引位置插入一個元素
~~~
CCMutableArray也可以使用Iterator,例子如下。

同樣的cocos2d-x還提供了一個數組的使用就是CCArray,其使用方法和Array類似,初始化方法如下
?CCArray*?sprites?=?CCArray::arrayWithCapacity(totalToAdd);
當然還有其他的使用方法,這里就不再贅述了。
這里在解釋一下CCMutableDictionary,他是一個鍵值對,這個類型在地圖中獲得屬性的時候比較常用,這樣我們就可以獲得相應的鍵值對,第一個類型是我們可以自定義的,我們這里定義為string類型的,而另外一種類型就必須是CCString?*類型的,當然,這個類型被獲得后我們可以轉換為各種類型。

如有錯誤之處,希望大家多多指正
- 前言
- (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 &amp; javascript跨平臺初體驗