您的位置:首页 > 其它

Coco2dx制作一个3D旋转的效果

2015-06-28 00:55 381 查看
建了工程之后修改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);
};


然后就可以看到旋转效果:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: