ななめ移動について

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

ななめ移動について

#1

投稿記事 by ya » 12年前

ななめ移動ってできるんでようか
if( Buf[ KEY_INPUT_DOWN ] == 1 && Buf[ KEY_INPUT_LEFT ] == 1)
としても入力できません

アバター
ぱにしん
記事: 58
登録日時: 14年前
住所: 滋賀

Re: ななめ移動について

#2

投稿記事 by ぱにしん » 12年前

もう少し具体的にお願いします。
codeタグを使って、if文の後の処理をお書きください。

今の所言えるのはもし「新・ゲームプログラミングの館」の通りにやっておられる場合

コード:

if( Buf[ KEY_INPUT_DOWN ] == 1 && Buf[ KEY_INPUT_LEFT ] == 1)
を真にするのは相当難しいという事だけですね。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: ななめ移動について

#3

投稿記事 by softya(ソフト屋) » 12年前

Bufはどういう風に管理していますか?ゲームプログラミングの館のキーのフレーム数をカウントするキー入力を使っている場合に同時に1になるのはタイミングが1/60秒と超絶にシビアです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

フィア
記事: 82
登録日時: 12年前

Re: ななめ移動について

#4

投稿記事 by フィア » 12年前

上と右ボタンの処理をしていれば右上に上と右ボタンを押せば斜め移動できますが、右と上ボタンを同時に押したときの処理自体をするならはずしてもいいのではないですか?

同様に下と左ボタンも処理すれば8方向移動できますよ。

もし8方向をボタンひとつで移動させたいならノートPCならキーボードを買ってくることでできると思いますが、数字キーで対応するという方法も取れます。

左上 7ボタン
右上 9ボタン
左下 1ボタン
右下 3ボタン

上 8ボタン
下 2ボタン
左 4ボタン
右 6ボタン

に対応するように処理していけばいけるかと

閉鎖

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