2013年03月08日

Cocos2d-xのパラパラアニメーション

Cocos2d-xでiPhoneとAndroid同時リリースがんばるぞ〜。

今日はCocos2d-xのパラパラアニメーションを調べてみたいと思います。
クイズに正解したときとかにキャラクターを動かしたいですよね!
きっと、UIKit(Objective-C)のUIImageView の animationImages の様な仕組みがあるはず!

本家のサイトに分かりやすく書いてありました(英語ですけど)
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Animations
# ここを読めばこのブログは読まなくても。。。


そこを参考に自分のアプリでは
以下のような感じでパラパラアニメーション実装しようかと思ってます。


// まずはパタパタアニメーションするスプライトを準備
CCSprite* sprite = CCSprite::create("kasakun_1.png");

// 置き場所を決めて
sprite->setPosition( ccp(size.width/2-100, size.height/2) );

// 配置!
this->addChild(sprite,1);


// アニメーションフレームを管理するクラスを生成
CCAnimation *animation = CCAnimation::create();

// アニメーションのコマ分繰り返す
for (int i = 1; i < 6; i++){

// ファイル名を生成
char szImageFileName[128] = {0};

// 例) kasakun_1.png kasakun_2.png kasakun_3.png ... とファイル名を作る
sprintf(szImageFileName, "kasakun_%01d.png", i);

// アニメーション フレームに画像を追加
animation->addSpriteFrameWithFileName(szImageFileName);

}

// 0.6秒間の間に 5フレーム切替表示を行う
animation->setDelayPerUnit( 0.6f / 5.0f );

// 全フレーム表示後は1フレームに戻る
animation->setRestoreOriginalFrame(true);

// フレームアニメーションを繰り返す
CCRepeatForever *action = CCRepeatForever::create( CCAnimate::create(animation) );

// アニメーションを実行
sprite->runAction(action);


これでずっっとアニメーションを繰り返します。

次回はアニメーションの切り替えを調べてみたいと思います。


posted by itokami1123 at 01:14| Comment(0) | 日記