【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の中でアニメーションさせることもできますので、状況に応じて前回までのアニメーションと使い分けるようにしてください。

  • このエントリーをはてなブックマークに追加
  • Pocket

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

CAPTCHA