DXライブラリ 総合スレッド その6
■ このスレッドは過去ログ倉庫に格納されています
0405名前は開発中のものです。
2010/04/21(水) 21:08:21ID:/AyH3iAk空のメインループだと、特定のタイミングでキーを押しても反応しないことがある。
実際に作ってみれば分かるが、これはかなりストレスが貯まる。
というわけで、一般的には
(1)矢印キーを押した瞬間にのみカーソルを動かす。
あらかじめ直前のフレームにおける入力状態を保存しておけば、押した瞬間を検出できる。
この検出処理自体はゲームの至る所で使用するので、タイトル画面に関わらず必ず作っておいた方が良い。
(2)ウェイト用のカウンタ変数を用意しておき、毎フレーム減らす。
カウンタが0以下の時のみ、カーソルを動かす。その後、待機するフレーム数(1秒ウェイトなら60)をカウンタに代入する。
キーを押しっぱなしで、かつカウンタが1以上なら、0になるまで毎フレーム1ずつ減らす。
キーが押されてなかったら、カウンタを0にする。
という、どちらかのパターンになると思う。
(1)はキーを連打することでカーソルを動かす、(2)は押しっぱなしでカーソルが動く。
(1)と(2)を組み合わせた方法とかもあるけど、それに関しては割愛。
>>404
キーボードじゃなくてゲームコントローラじゃね? OSによって違うかもしれないけど
■ このスレッドは過去ログ倉庫に格納されています