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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
takeshi

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

#1

投稿記事 by takeshi » 14年前

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

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

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

#2

投稿記事 by みけCAT » 14年前

これだけでは全くわかりません。
使用しているOS、開発環境、言語、ライブラリなどを書き込んでください。
フォーラムルールもお読みください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

takeshi

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

#3

投稿記事 by takeshi » 14年前

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パターン終わるみたいにしたいんです。

よろしくお願いします。

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

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

#4

投稿記事 by みけCAT » 14年前

コード:

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にあたる変数が必要です。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

“C言語何でも質問掲示板” へ戻る