我学习的这个版本是2.0版的,后面版本都已经更新了,所以在使用改变CCRotateTO、CCRotateBy改变运动需要借助其他的成员方法,下面的例子是在2.0编写的:
void MyActionRotateLayer::initLayer() {
CCSize size = CCDirector::sharedDirector()->getWinSize();
/*
*@CCRotateTo
*/
CCSprite *spriteRotateTo = CCSprite::create("blocks.png");
spriteRotateTo->setPosition(ccp(size.width / 2.0f, size.height / 2.0f));
this->addChild(spriteRotateTo, 1);
CCActionInterval *forwardTo = CCRotateTo::create(4, -30.5f); // 第二个参数:如果是正数则是顺时针,否则逆时针
spriteRotateTo->runAction(forwardTo);
/*
*CCRotateBy
*/
CCSprite *spriteRotateBy = CCSprite::create("blocks.png");
spriteRotateBy->setPosition(ccp(size.width / 4.0f, size.height / 4.0f));
this->addChild(spriteRotateBy, 1);
CCActionInterval *forwardBy = CCRotateBy::create(4, 720); // 第二个参数:如果是正数则是顺时针,否则逆时针
spriteRotateBy->runAction(forwardBy);
}