[初探Cocos2d-x]之CCArray

CCArray是一個數據結構類,它對遊戲存儲數組型數據作了優化。在使用Cocosd-x開發遊戲的過程當中CCArray使用頻繁。數組

CCArray的建立
數據結構

// 建立一個數組
static CCArray* create();

// 使用一些對象建立數組,末尾加NULL標識
static CCArray* create(CCObject* pObject, ...);

// 使用一個對象建立數組
static CCArray* createWithObject(CCObject* pObject);

// 建立一個指定大小的數組
static CCArray* createWithCapacity(unsigned int capacity);

// 使用一個現有的數組,建立出一個新數組
static CCArray* createWithArray(CCArray* otherArray);

CCArray添加元素優化

// 插入一個元素
void addObject(CCObject* object);

// 插入另一個數組裏面的所有對象
void addObjectsFormArray(CCArray* otherArray);

// 在一個索引位置添加一個對象
void insertObject(CCObject* object, unsigned int index);

CCArray刪除元素spa

// 移除最後的一個對象     
void removeLastObject(bool bReleaseObj = true);     

// 移除一個肯定的對象      
void removeObject(CCObject* object, bool bReleaseObj = true);     

// 移除一個肯定索引位置的元素
void removeObjectAtIndex(unsigned int index, bool bReleaseObj = true);     

// 移除所有元素
void removeObjectsInArray(CCArray* otherArray);  

// 移除全部對象
void removeAllObjects();    

// 快速移除一個對象
void fastRemoveObject(CCObject* object);    

// 快速移除一個肯定索引位置的對象
void fastRemoveObjectAtIndex(unsigned int index);

注意:code

    [remove和fastRemove的區別]orm

remove是從CCArray中徹底的移除對象,fastRemove只是將CCArray中對應的對象釋放,並無改變CCArray的結構。二者的區別就是在刪除元素以後,是否把數組以後的元素向前移動覆蓋掉以前位置的元素。對象


CCArray遍歷元素索引

    使用CCARRAY_FOREACH()快速遍歷
遊戲

相關文章
相關標籤/搜索