cocos2d-x的CCArray用法
前端之家收集整理的这篇文章主要介绍了
cocos2d-x的CCArray用法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
1.声明初始化变量
|
cocos2d
::
CCArray
*
pArray
;
pArray
=
CCArray
::
createWithCapacity
(
100
)
;
pArray
->
retain
(
;
//如果保留成员变量的话,此处必须retain,否则会崩溃,因为标记了autorelease
|
2.添加元素到数组
|
CCSprite
*
pRet
=
CCSprite
::
create
(
"test.png"
)
;
pArray
->
addObject
(
pRet
;
//将pRet添加到数组0位置,此处会调用一次pRet的retain
|
3.删除元素
pArray
removeObject
(
pRet
//第二参数为是否调用release,默认为true
pArray
removeObjectAtIndex
0
//删除o位置上的元素
|
4.遍历
1).使用ccarray中的宏进行遍历
2).for循环遍历
二.注意事项
1.创建一个CCArray后如果不是立刻使用的话一定要调用retain,增加引用计数,不然会被自动释放!
2.删除CCArray中的元素时最好默认内部调用一次release,不然可能会内存泄露!
3.遍历时删除元素
2.对于CCSequence如果只有到运行时才能知道有个少个动作时,我们就可以声明一个CCArray然后将动作addObject(),最后通过一个array来创建CCSequence,例如下面这段代码:
1
2
3
4
5
6
7
8
9
10
11
12
@H_
301_279@
//所有的路径节点
CCArray
*
array
CCArray
createWithCapacity
(
20
;
float
dt
=
1
/
(
m_pProperty
->
fMoveSpeed
;
CCPoint
point
(
Crayon-o" style="font-family:inherit; font-size:inherit!important; line-height:inherit!important; height:inherit!important; color:rgb(0,
;
(
UINT
i
0
;
i
<
CGlobal
getGameMap
m_PathNode
size
;
++
i
)
{
array
(
CCMoveTo
(
dt
Crayon-sy" style="font-family:inherit; font-size:inherit!important; line-height:inherit!important; height:inherit!important; color:rgb(51,
point
;
}
//移动完毕的回调
CCCallFunc
(
this
Crayon-sy" style="font-family:inherit; font-size:inherit!important; line-height:inherit!important; height:inherit!important; color:rgb(51,
callfunc_selector
CMonster
::
onArrive
;
CCSequence
pAct
CCSequence
array
;