ページ 11

ななめ移動について

Posted: 2013年2月22日(金) 13:09
by ya
ななめ移動ってできるんでようか
if( Buf[ KEY_INPUT_DOWN ] == 1 && Buf[ KEY_INPUT_LEFT ] == 1)
としても入力できません

Re: ななめ移動について

Posted: 2013年2月22日(金) 13:52
by ぱにしん
もう少し具体的にお願いします。
codeタグを使って、if文の後の処理をお書きください。

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

コード:

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

Re: ななめ移動について

Posted: 2013年2月22日(金) 13:53
by softya(ソフト屋)
Bufはどういう風に管理していますか?ゲームプログラミングの館のキーのフレーム数をカウントするキー入力を使っている場合に同時に1になるのはタイミングが1/60秒と超絶にシビアです。

Re: ななめ移動について

Posted: 2013年2月25日(月) 21:44
by フィア
上と右ボタンの処理をしていれば右上に上と右ボタンを押せば斜め移動できますが、右と上ボタンを同時に押したときの処理自体をするならはずしてもいいのではないですか?

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

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

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

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

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