[寒江孤叶丶的Cocos2d-x之旅_04]Cocos2d-x延时执行动画或函数

来源:互联网 发布:遥感数据地面处理站 编辑:程序博客网 时间:2024/05/08 01:31

在Cocos2d-x的游戏开发过程中,我们经常会会用到延时一段时间执行某个动画,或者回调函数。可能小伙伴们会困惑如何去做。下面简单为大家介绍一下

midSp->runAction(Sequence::create(DelayTime::create(0.7),MoveTo::create(0.7, Vec2(ScreenWidth*0.5,ScreenHeight/2)),DelayTime::create(1.5),MoveTo::create(1, Vec2(ScreenWidth*0.5,-midSp->getContentSize().height)), NULL));//中间图案的动作


以上是我 让一个图形延时0.7秒 移动到一个位置,再延时1.5秒在移动一次的实现方法

当然也可以延时一段时间执行一个函数

如下:

playerPlane->runAction(Sequence::create(DelayTime::create(3),CallFunc::create(CC_CALLBACK_0(GameScene::doBoom, this)),MoveTo::create(0.5, Vec2(ScreenWidth/2, ScreenHeight*0.2)), NULL));

以上延时三秒,然后回调执行 doBoom方法,然后再让飞机移动到指定坐标的实现

通过以上两段代码想必大家已经明白了实现的方法,没错 就是 四个主要方法(类)  runAction   Sequence  DelayTime  和 CallFunc

runAction是用来执行动作的,Sequence 是按照队列顺序一个一个执行动作,DelayTime  是用来设置延时动作的,

而CallFunc是用来设置回调方法的,用来执行自己的函数。

重点提醒:Sequence::create(xxx,xxx,null);必须以null结尾,否则会有RuntimeError出现

0 0