cocos2d-x CCArray用法 遍历和删除元素

本文为 justbilt 原创,转载请标明原作者及原文出处,以示尊重!

作者:justbilt

原文:http://blog.justbilt.com/25/

 

一.基本用法

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.还有其他用法?发评论告诉我!

你可能感兴趣的:(CCArray)