欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Cocos2dx中如何让runAction函数执行完后再执行后续程序

程序员文章站 2022-05-23 15:25:19
...

今天被一个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函数执行完后再执行后续程序的目的了。