cocos2dx之如何延时当前动作
发表于2015-12-15
在执行某个行为动作的时候,有时候根据需求,可能需要暂停一段时间,然后继续执行,这个时候我们可以用到,CCDelayTime这个类,它是CCActionInterval的派生类。
好,现在我们来看一下如何创建一个延时的行为动作,代码如下:
- void MyActionCCDelayTimeLayer::initLayer() {
- CCSize size = CCDirector::sharedDirector()->getWinSize();
- CCSprite *spriteDelay = CCSprite::create("close.png");
- spriteDelay->setPosition(ccp(size.width / 2.0f, size.height / 2.0f));
- this->addChild(spriteDelay, 1);
- CCActionInterval *move = CCMoveBy::create(2, ccp( 400, 300));
- CCActionInterval *back = move->reverse();
- CCAction *action = CCRepeatForever::create(dynamic_cast<CCActionInterval *>(CCSequence::create(move, back, CCDelayTime::actionWithDuration(10), NULL)));
- spriteDelay->runAction(action);
- }
已创建完成!,除此之外,我让该动作了不断(CCRepeatForevet)执行,隔10s继续执行一次。