今天被一个runAction的问题困扰了一段时间,后来才发现Cocos2dx中的动作多数是异步执行的,如果用户希望在动作完全结束后再执行后续的程序,往往会得不到想要的效果。这时就需要用到Sequence动作了。 类如下: mySprite-runAction(Sequence::create( MoveTo:
今天被一个runAction的问题困扰了一段时间,后来才发现Cocos2dx中的动作多数是异步执行的,如果用户希望在动作完全结束后再执行后续的程序,往往会得不到想要的效果。这时就需要用到Sequence动作了。
类似如下:
mySprite->runAction(Sequence::create(
MoveTo::create(0.2, Enemy->getMySprite()->getPosition()),
CallFunc::create(CC_CALLBACK_0(myCallback,this))
,NULL));
将要执行的动作包装在Sequence动作中,希望在之后执行的语句包装在回调函数myCallback(也可以直接写成lambda表达式)中,这要就能达到runAction函数执行完后再执行后续程序的目的了。