Cocos2d x 在执行CCSequence时,使节点运行操作同步的最佳方法是什么

Cocos2d x 在执行CCSequence时,使节点运行操作同步的最佳方法是什么,cocos2d-x,Cocos2d X,在我执行包含一系列动作的RunAction之前,我怎么能不继续游戏的流程呢。 正在运行 while(!bEndSequence) { .. stop app form continue ... } 在CCSequence中,最后一个动作将触发bEndSequence为true或false 这是唯一的方法吗?Cocos2d-x不是多线程的,因此while循环(如您给出的示例)不仅会阻止进度,还会冻结游戏。相反,您可以做的是创建一个回调函数,该函数将触发您要执行的其余操作,例如: voi

在我执行包含一系列动作的RunAction之前,我怎么能不继续游戏的流程呢。 正在运行

while(!bEndSequence)
{
    .. stop app form continue ... 
}
在CCSequence中,最后一个动作将触发bEndSequence为true或false
这是唯一的方法吗?

Cocos2d-x不是多线程的,因此while循环(如您给出的示例)不仅会阻止进度,还会冻结游戏。相反,您可以做的是创建一个回调函数,该函数将触发您要执行的其余操作,例如:

void MyClass::waitToExecute()
{
   //code that you want to delay until after the sequence goes here
}
然后,您可以简单地将该回调添加到序列的末尾,作为要执行的另一个操作

runAction(CCSequence::create( CCFadeIn::create(TRANSITIONSPEED*1.1f),CCDelayTime::create(TRANSITIONSPEED*0.5), CCFadeOut::create(TRANSITIONSPEED*2.4f), CCCallFunc::create(this, callfunc_selector(MyClass::waitToExecute)), NULL));
当然,这实际上取决于代码的工作方式,因此我无法客观地说这是最好的方法。但在很多情况下,这一切都很好