 キャラクタのアニメーションは結局シンプルなやり方で実装しました。
キャラクタのアニメーションは結局シンプルなやり方で実装しました。
スプライトを6枚用意してspr_no[]という配列に格納します。spr_no[]内の0~2に右向きスプライト、3~5に左向きスプライトてな感じで3枚ずつ入れてます。
これを時間経過にあわせて差し替えていきます。時間経過はtimeという変数を用意して、これを加算していく事で実現します。ここではtimeが5の倍数になったら次のスプライトに差し替えます。スプライトの決定方法は(time/5)を3で割った余りになります。
最後にジャンプしてたり落下してる場合にアニメーションさせるのは変なので、重力変数gravityが0の場合のみ時間経過させるようにしてます。
これで歩くアニメだけは出来ました。
次回、というか並行して音楽の処理を触ってたんだけど、同じDirectX9.0cでも色々バージョンによる差異があるみたいで、資料が少なくちょっと苦労してます。
音楽後回しにして、ゲームとしてのギミックなんかを先にやろうかな。
//-----------------------------------------------------------------------------
// 移動
void CMyChara::Move()
{
 float work_x, work_y; // 移動量
 // 他の処理
 // スプライトアニメーション
 if (work_x!=0) {
  if (work_x<0) {
   // 左向き
   now_spr_no=spr_no[((time/5)%3)+3];
  }
  else {
   // 右向き
   now_spr_no=spr_no[((time/5)%3)];
  }
  if (gravity==0) {
   time++;
  }
 }
}