ページ 11

プレイヤーの移動について

Posted: 2012年2月19日(日) 14:49
by takeshi
アニメーションが4パターンあるプレイヤーを一回のキー入力で一定ドットずつ動かしたいのですが、
それをするにはどのような処理をすればいいのでしょうか?
よろしくお願いします。

Re: プレイヤーの移動について

Posted: 2012年2月19日(日) 14:54
by みけCAT
これだけでは全くわかりません。
使用しているOS、開発環境、言語、ライブラリなどを書き込んでください。
フォーラムルールもお読みください。

Re: プレイヤーの移動について

Posted: 2012年2月19日(日) 15:08
by takeshi
OS windows
言語 C++
開発環境 Visual Stadio

情報不足ですいませんでした。

プレイヤーの移動動作のテストをしていました。

プレイヤーの画像サイズを160*160だとします。
縦と横で4パターンずつあるとします。
縦1列目 下向き
縦2列目 上向き
縦3列目 右向き
縦4列目 左向き

横1列目 通常
横2列目 右足前
横3列目 通常
横4列目 左足前

プレイヤーの移動処理をする関数で例えば下に移動する場合,
ものすごく単純に考えれば
1パターン160/4 = 40なので
40 * animeみたいにして
if ( GetKeyState(VK_DOWN) ) {
  Y++ ;
  anime++ ;
  if ( anime > 3 )
    anime = 0 ;
}
ですが、これをキーを一回押しただけで32ドットずつ動くかつアニメーションが
4パターン終わるみたいにしたいんです。

よろしくお願いします。

Re: プレイヤーの移動について

Posted: 2012年2月19日(日) 15:23
by みけCAT

コード:

moving=0;//初期化、ループには入れないで!
if(GetKeyState(VK_DOWN) && moving==0) {
    moving=32;
}
if(moving>0) {
    Y++;
    moving--;
    if(moving%8==0) {
        anime++;
        if(anime>3)anime=0;
    }
}
イメージとしてはこんな感じでしょうか?
上下左右に動くなら、その方向の数だけmovingにあたる変数が必要です。