在CCRepeatForever Class Reference中,有这样一条警告“Warning: This action can't be Sequenceable because it is not an IntervalAction”,而实际上它的确是派生自CCActionInterval,这真有点儿把我也搞懵了。
仅从其本意来说,该类的作用就是无限期执行某个动作或动作序列,直到被停止。因此无法参与序列和同步,自身也无法反向执行(但是你可以将某一动作反向,然后无限重复执行)。
类似于这样的代码,就可以实现 无限来回的移动。
CCSprite* levelIcon = CCSprite::createWithSpriteFrameName("levelArrow.png"); levelIcon->setPosition(ccp(200, 150) ); this->addChild(levelIcon,4); CCMoveBy *move = CCMoveBy::create(1.2f,ccp(0,10)); levelIcon->runAction(CCRepeatForever::create(static_cast<CCSequence *>(CCSequence::create(move,move->reverse(),NULL))));