近日,由于自己需要用到一个特效道具,show完特效后会删除场上几个同一类的精灵,为避免同时使用这两个道具时,产生冲突,导致前一个特效的精灵未被删除,所以想了个自定义回调函数的方法,众所周知,定义一个回调函数的用法大致是:
__String* draw = __String::create("1");
draw->retain();
for (auto sprite : _sp)
{
i++;
auto time=DelayTime::create(0.002f * i);
auto call = __CCCallFuncND::create(this,callfuncND_selector(gameLayer::showLine),draw);//callfuncND_selector算是一个比较常见的,传递一个void类型的参数
sprite->setTag((int)_sp.size());
sprite->runAction(Sequence::create(time,call, NULL));
}