cocos2dx之如何延时当前动作

发表于2015-12-15
评论0 765浏览

在执行某个行为动作的时候,有时候根据需求,可能需要暂停一段时间,然后继续执行,这个时候我们可以用到,CCDelayTime这个类,它是CCActionInterval的派生类。

好,现在我们来看一下如何创建一个延时的行为动作,代码如下:

  1. void MyActionCCDelayTimeLayer::initLayer() {  
  2.     CCSize size = CCDirector::sharedDirector()->getWinSize();  
  3.     CCSprite *spriteDelay = CCSprite::create("close.png");  
  4.     spriteDelay->setPosition(ccp(size.width / 2.0f, size.height / 2.0f));  
  5.     this->addChild(spriteDelay, 1);  
  6.   
  7.     CCActionInterval *move = CCMoveBy::create(2, ccp( 400, 300));  
  8.     CCActionInterval *back = move->reverse();  
  9.     CCAction *action = CCRepeatForever::create(dynamic_cast<CCActionInterval *>(CCSequence::create(move, back, CCDelayTime::actionWithDuration(10), NULL)));  
  10.     spriteDelay->runAction(action);  
  11. }  

已创建完成!,除此之外,我让该动作了不断(CCRepeatForevet)执行,隔10s继续执行一次。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引