首先,CCArray是不能使用new的方式创建的。其次,使用CCArray::array()创建的数组,即使这个数组已经是当前类的成员变量,也必须要做一次retain,否则的话在创建数组的函数返回的时候,CCArray就会被直接释放掉了。由于这个问题也无法通过编译时候暴露出来,而且在objc中创建自动释放的NSArray类型的成员变量的时候是不需要reta...
CCArray是cocos2d鼎力支持的数据结构类。它对游戏存储数组型数据做了优化。你可以在cocos2d-x源文件目录cocos2d/support/ data_support里面找到CCArray的实现。CCArray在cocos2d内被使用广泛,它模拟了苹果NSMutableArray的功能,但是执行效率更高。 CCArray是一个面向对象包装类CCArray继承至CCObject(CCObject主要是为了自动...
前面的博文中我们提到了一个词典类CCDictionary,它和数组类CCArray共称Cocos2d-x两大常用数据结构,因为在项目中数组类CCArray我们使用的实在是太多了,因此这里补充一篇关于CCArray深入分析的博文,其中提到了一个很多新手可能没有使用过的类ccCArray类,CCArray内部其实都是通过调用该类实现的,值得我们注意。 【转载自偶...
CCArray * GameBoard::getNeighbors(Bubble * bubble){ CCArray * outArray = CCArray::create(); outArray->retain();//leftif(bubble->col-1>=0) outArray->addObject(newCCPoint(bubble->col-1, bubble->row));//rightif(bubble->col+1< BUBBLE_COL) outArray->addObject(newCCPoint(bubble->co...
voidBaoZangView::openInviteFriends(CCObject *data){ GlobalData::shared()->isBind =true; CCArray* arr = CCArray::create(); arr->addObjectsFromArray(m_inviteDatas); arr->addObjectsFromArray(m_installDatas);if(arr->count()>0){ PopupViewController::getInstance()->addPopupInView(FacebookInviteVi...
可以这样定义:// local 表示定义的是局部变量local ccarray = {} 这样定义好之后,你就可以认为ccarray是一个空的数组 00分享举报为您推荐 getbuffer函数 getenv函数 Qstring InsertColumn qbytearray转int getmessage函数 createevent函数 qt获取lineedit内容 domodal函数 opendir函数 cvBoundingRect assert...
5 CCArray A类关系图 BCCArray继承自CCObject,而非CCNode,没有办法加到渲染树中去,但是参加了内存托管。所以应该手动处理。 示例: Array = CCArray::create(); Array->retain(); CCSprite *spr = CCSprite::create(); array->addObject(spr);
CCArray(unsigned int capacity);};也就是说CCArray中包含了ccArray。我们再看看ccArray的定义 typedef struct _ccArray { unsigned int num, max;CCObject** arr;} ccArray;它里面定义了一个CCObject的对象,还有两个整型,这样就很明显了,他们是包含关系。再最新的cocos2dx版本中应该看不到CCM...
从log中可以看出,删除的时候是隔一个删一个,与我们便利array中所有元素的初衷相差甚远,所以,一定是什么地方用错了。 首先仔细看看CCARRAY_FOREACH这个宏,可以在cocoa/CCArray.h中找到它的定义 这里采用了指针移动的方式来提高效率。看到这个,大概心里有个数了,因为在array中删除了一个元素,如果这个元素后面的所有...
1.API 先看一下 CCArray 可以帮我们做什么。 1.1.创建 [cpp] view plaincopy 1. //创建 array 2. static CCArray* create(); 3. //使用一系列 CCObject 创建 array 4. static CCArray* create(CCObject* pObject, …); 5. //使用一个 CCObject 创建 array 6. static CCArray* createWithObject(...