基于曲线移动到相应位置,例子代码如下:
void MyActionCardinalSplineLayer::initLayer() {
CCSize size = CCDirector::sharedDirector()->getWinSize();
CCSprite *sprite = CCSprite::create("blocks.png");
sprite->setPosition(ccp(100, 300));
this->addChild(sprite, 1);
CCPointArray *arrayPoint = CCPointArray::create(4);
arrayPoint->addControlPoint(ccp(100, 200));
arrayPoint->addControlPoint(ccp(300, 100));
arrayPoint->addControlPoint(ccp(100, 400));
arrayPoint->addControlPoint(ccp(200, 200));
CCActionInterval *forward = CCCardinalSplineBy::create(4, arrayPoint, 0);
sprite->runAction(CCSequence::create(forward, forward->reverse(), NULL));
}