【Cocos2d-x】アニメーションその3
【Cocos2d-x】アニメーションその3
今回は違ったアニメーションの方法を紹介します。
前回と前々回はアニメーションメソッドを呼び出してアニメーションさせていましたが、今回はupdateの中でアニメーションをさせます。
updateに関してはこちらで紹介しています。
virtual void update(float dt);
bool HelloWorld::init() { //略... this->setUpItems(); this->scheduleUpdate(); return true; } void HelloWorld::update(float dt) { float mx = 50.0f; float my = 30.0f; for (int i = 0; i < (int)_items.size(); i ++) { Sprite *item = _items.at(i); item->setPosition(Vec2(item->getPosition().x + mx * dt, item->getPosition().y + my * dt)); } }
これで起動すると、毎秒右に50px上に30pxのスピードで移動するようになります。
updateの引数dtは、前回呼ばれたupdateから今回呼ばれたupdateまでの間の時間です。
mx,myにdtをかけることで一定のスピードを保って移動することができます。
このように、updateの中でアニメーションさせることもできますので、状況に応じて前回までのアニメーションと使い分けるようにしてください。
この記事へのコメントはこちら