关闭

cocos2d-x的CCArray用法

4344人阅读 评论(0) 收藏 举报
分类:
一.基本用法

1.声明初始化变量

2.添加元素到数组

3.删除元素

4.遍历

1).使用ccarray中的宏进行遍历

2).for循环遍历

 

二.注意事项

1.创建一个CCArray后如果不是立刻使用的话一定要调用retain,增加引用计数,不然会被自动释放!

2.删除CCArray中的元素时最好默认内部调用一次release,不然可能会内存泄露!

3.遍历时删除元素

 

 三.什么时候会用到CCArray?

1.每一个CCNode的children本质就是一个CCArray,这样我们就可以通过getChildren()获得array,进行操作!

 

2.对于CCSequence如果只有到运行时才能知道有个少个动作时,我们就可以声明一个CCArray然后将动作addObject(),最后通过一个array来创建CCSequence,例如下面这段代码:

 

3.对于一个CCSprite,我们肯定需要把它addChild到parent上,这样他才能显示出来,这样的话parent上就会有好多child,但是我们要遍历只是其中的一部分(例:场景的地图上有好多种花,我们都会把它们添加到同一个parent上,这时候策划说其中的一种花会被怪物踩死?纳尼….,这个时候我们就需要唉将能被踩死的花加入到parent上时同时加入到一个CCArray中去….),这样我们用的时候遍历这个数组就可以了,而不是遍历这个children!

 

4.多谢@子龙山人 大大的添加,CCArray还可以内存预分配,比如预先生成一堆子弹,然后加到CCArray中,再从这个CCArray中去重用子弹。这样可以提高游戏效率。消失的子弹只需要设置为Invisible就可以了。这个在做射击类游戏中会大量使用的!

5.还有其他用法?发评论告诉我!

(全文完)


转载自 http://blog.justbilt.com/25/


0
0
查看评论

cocos2dx 懒到底

1.数学类 cocos2d-x 里使用最多的数学类型是CCPoint,一个点,本质上也是一个向量,对于向量和向量之间有很多的数学操作要做,oh我知道要干什么,也许我知道怎么求一个值但是不知道怎么求得高效(或者不知道),怎么办我能偷懒吗?那当然可以。这其实并不是一个懒的标准,因为有一些方法写多了...
  • zmzsoftware
  • zmzsoftware
  • 2013-10-12 22:16
  • 10904

cocos2d-x中CCArray里面CCARRAY_FOREACH的用法

CCArray这个是在cocos2d-x当中很常用的,其基类是CCObject,主要是作为存储CCObject指针的容器来使用的。最常用的地方是存储CCNode及其子类的children。CCNode在cocos2d-x当中的重要性不言而喻,而其children也是要经常要被操作的~一般在遍历CCN...
  • jinjian2009
  • jinjian2009
  • 2013-08-03 15:07
  • 8868

cocos2dx,关于CCArray的基本用法

一.基本用法 1.声明初始化变量 C++ 1 2 3 cocos2d::CCArray* pArray; pArray=CCArray::createWithCapac...
  • u013052732
  • u013052732
  • 2014-02-18 10:04
  • 316

【玩转cocos2d-x之二十五】数据结构CCArray

CCArray是从cocos2d中移植过来的,类似于Apple的NSMutableArray,但是比NSMutableArray更为的好用。要注意的是虽然CCArray和CCDictionary可以管理cocos2d-x中绝大多数的类,但是仍然无法替代STL库,STL库更为强有力。 1.API...
  • jackyvincefu
  • jackyvincefu
  • 2013-11-25 08:58
  • 8892

cocos2d-x 2.2.3 ccArray简单分析

本来想分析CCArray的,结果发现实现部分基本都在ccCArray里面,所以索性就直接
  • a102111
  • a102111
  • 2014-09-02 14:17
  • 1575

数据结构CCArray

原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/16938787 CCArray是从cocos2d中移植过来的,类似于Apple的NSMutableArray,但是比NSMutableArray更为的好用。...
  • he_wen_jian
  • he_wen_jian
  • 2013-12-02 07:13
  • 2134

quick2.2与quick3.3的区别(2)

quick2.2 quick3.3 说明 ccarray 无 若有runaction使用,则使用transition.sequence替换 ui.newTTFLabel display.newTTFLabel 使用 cc.ui.UILabel 替换 cc.PACKA...
  • nynyvkhhiiii
  • nynyvkhhiiii
  • 2015-08-03 14:12
  • 1473

cocos2d-x的CCArray用法

一.基本用法 1.声明初始化变量 C++ 123cocos2d::CCArray* pArray;pArray=CCArray::createWithCapacity(100);pArray->retain();...
  • yuyueliuliu
  • yuyueliuliu
  • 2013-12-04 14:55
  • 4344

【quick-x】学习笔记(官方概述)

quick-cocos2d-x 是在官方 cocos2d-x + Lua 版本的基础上修改起来的增强版。 在底层 API 上,quick 和 cocos2d-x 保持一致,而 quick 扩展的 API 主要分为两个部分: quick 里提供了一个 L...
  • luocker
  • luocker
  • 2014-02-15 17:55
  • 568

cocos2d-x 中的数据结构集合(容器)(CCArray,Map,Vector)使用笔记

第1部分、CCArray cocos2d::CCArray(在3.0中已经过时,将被vector替代)是一个可变数组集合容器,放在其中的元素是有序的,并且可以重复,可以通过索引来获得元素,可以对容器内的元素进行添加或删除。 先看看教材中的示例: //创建数组     CCAr...
  • windvally
  • windvally
  • 2015-08-11 16:14
  • 837
    个人资料
    • 访问:106364次
    • 积分:1371
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:14篇
    • 译文:3篇
    • 评论:24条
    最新评论