DXライブラリ 総合スレッド その6at GAMEDEV
DXライブラリ 総合スレッド その6 - 暇つぶし2ch405:名前は開発中のものです。
10/04/21 21:08:21 /AyH3iAk
>>403
空のメインループだと、特定のタイミングでキーを押しても反応しないことがある。
実際に作ってみれば分かるが、これはかなりストレスが貯まる。

というわけで、一般的には

(1)矢印キーを押した瞬間にのみカーソルを動かす。
 あらかじめ直前のフレームにおける入力状態を保存しておけば、押した瞬間を検出できる。
 この検出処理自体はゲームの至る所で使用するので、タイトル画面に関わらず必ず作っておいた方が良い。

(2)ウェイト用のカウンタ変数を用意しておき、毎フレーム減らす。
 カウンタが0以下の時のみ、カーソルを動かす。その後、待機するフレーム数(1秒ウェイトなら60)をカウンタに代入する。
 キーを押しっぱなしで、かつカウンタが1以上なら、0になるまで毎フレーム1ずつ減らす。 
 キーが押されてなかったら、カウンタを0にする。

という、どちらかのパターンになると思う。
(1)はキーを連打することでカーソルを動かす、(2)は押しっぱなしでカーソルが動く。
(1)と(2)を組み合わせた方法とかもあるけど、それに関しては割愛。



>>404
キーボードじゃなくてゲームコントローラじゃね? OSによって違うかもしれないけど


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch