cocos2dx 怎么实现精灵绕任意点旋转

实现精灵绕圆形轨迹运动的效果,而且精灵自己也要旋转,某一面始终朝着圆心。

不太明白你说的旋转是精灵自身旋转吗。还是绕着一个固定点旋转,前者用rotate就可以了,后者的话可以用

CCCardinalSplineBy


//// CCRotateTo
//// 作用创建一个旋转的动作
//// 参数1:旋转的时间 参数2:旋转饿角度 0 - 360
// CCActionInterval * rotateto = CCRotateTo::create(2, 90);
// sp->runAction(rotateto);

CCActionInterval* rotateTo = CCRotateTo::create(2, 360);
CCActionInterval* act = CCRepeat(rotateTo, 3);
m_pSprite->runAction(act);

CCPointArray * array = CCPointArray::create(4);
array->addControlPoint(centerPos + ccp(10, 0));
array->addControlPoint(centerPos + ccp(0, 10));
array->addControlPoint(centerPos + ccp(-10, 0));
array->addControlPoint(centerPos + ccp(0, -10));
array->addControlPoint(centerPos + ccp(10, 0));

CCActionInterval  * CardinalSplineTo = CCCardinalSplineTo::create(1, array, 0);
CCActionInterval* act = CCRepeat::create(CardinalSplineTo, 3);
m_pSprite->runAction(act);