建了工程之后修改HelloWorldScene.cpp文件,修改部分为
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !Layer::init() )
{
return false;
}
ry = 0;
auto rootNode = CSLoader::createNode("MainScene.csb");
addChild(rootNode);
Size visibleSize = Director::getInstance()->getVisibleSize();
s = Sprite::create("HelloWorld.png");
s->setAnchorPoint(Vec2(0, 0.5f));
s->setPosition(visibleSize.width / 2, visibleSize.height / 2);
addChild(s);
scheduleUpdate();
return true;
}
void HelloWorld::update(float dt) {
ry++;
s->setRotation3D(Vec3(0, ry, 0));
}
HelloWorldScene.h也要修改
class HelloWorld : public cocos2d::Layer
{
private:
cocos2d::Sprite *s;
float ry;
public:
// there's no 'id' in cpp, so we recommend returning the class instance pointer
static cocos2d::Scene* createScene();
// Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone
virtual bool init();
// implement the "static create()" method manually
CREATE_FUNC(HelloWorld);
void update(float dt);
};
然后就可以看到旋转效果: