请教:关于CCSequence::create()的参数使用的问题

我知道想要使用复杂动作的时候,可以在CCSequence 的 create() 函数中传入各个分动作,传入对应的分动作指针,并以一个NULL。

现在我希望实现一个功能,通过程序控制给CCSequence 的 create() 函数传入不定个数的各个动作指针,请问如何解决?

我现在用了一种方法:分动作的指针输入到一个数组中,写一个函数专门判断数组对应下标有没有动作指针,有的话返回分动作指针,
没有的话返回一个NULL…

CCMoveTo * m1 , m2, m3, m4…
m1 ,m2, m3, m4… 存入 指针数组 p](传入p]的动作个数根据需要会有不同…,并且存的时候是根据下标顺序写入)

用一个函数 CCActionInterval * fun(int n) : n 是p]的下标 p]是成员变量p为空返回NULL,非空返回数组元素

然后 在 CCSequence::create( fun(1),fun(2),fun(3)…fun(10),NULL ) :使用的分动作个数最多10个

这个方法似乎是可行的,测试一两次也没出问题。但是,因为当个数不到10个的时候,会出现 create(m1,m2,…,NULL,NULL,…,NULL)

这样的情况: 在:create()里面有多个NULL,不知道这样会不会出问题…

:2::2::2::2::2:

:9::9::9::9::9::9::9::9::9::9:

刚刚翻了下CCSequence::create()的源码,才发现它有一个重载函数CCSequence* CCSequence::create(CCArray* arrayOfActions)

直接就可以用CCArray的…:3::3::3: