Cocos2d-x初探学习笔记(27)–CCMutableArray

 jvxiang   2015-04-22 14:00   221 人阅读  0 条评论

在写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 *类型的,当然,这个类型被获得后我们可以转换为各种类型。

如有错误之处,希望大家多多指正

本文地址:https://www.jvxiang.com/cocos2d-x初探学习笔记(27)-ccmutablearray.html
版权声明:本文为原创文章,版权归 jvxiang 所有,欢迎分享本文,转载请保留出处!
NEXT:已经是最新一篇了

 发表评论


表情