求助,一个关于旋转的速度控制的小问题?

//比如我有一个node,进行旋转,初期速度为转一周用1.0s,3秒之后减速为一周用3.0s,
CCNode* node;?
CCRotateBy* rotate = CCRotateBy::actionWithDuration(1.0f, 360);
CCRepeatForever repeat = CCRepeatForever::actionWithAction(rotate);
Sprite
table->runAction(repeat);

//3秒之后的update里:
?CCRotateBy* rotate_action = (CCRotateBy*)action->getInnerAction();
ccTime speed = rotate_action->getDuration();
rotate_action->setDuration(3.0f);

//请问为何转速改变的那一刹,播放不自然呢?那应该如何控制它的转速呢?谢啦!