お久しぶりです、アメヒルネです。
今回お尋ねしたいのは、「キー入力判定のやり方」です。
初めのうちは、ショットを打っていたとき(龍神録参照)と同じように、
CheckStatePadを使ってメニュー画面のようなものを作ろうとしていました。
メニュー画面のように、一回下キーを入力すると、指示されている部分が一つ下に下がるようなイメージです
(分かりにくくてすみません…)
しかし、これだと「キーが押されている間」という判断処理をされてしまうため、
短く一回押しただけでも数回移動処理されてしまうことがよくあります。
一回押すだけで、カーソルが3つ4つ下がってしまうのです。
一度、下のようなイメージでソースを組んだことがあります。
[hr]1) ローカル整数型変数「key_count」を、初期値を0にして宣言
2) CheckStatePadを使って、判定が1の間はkey_countを1増やす
0の時は、key_countを0にする
3) key_countが1の時のみ、カーソルの移動処理を行わせる
[hr]
ですが、これだとソースが無駄に長くなり、ごちゃごちゃしていてわかりにくく、
ついでにエラーまで発生して、このやり方は妥当ではないと判断した次第です。
そこで、本日お尋ねしたいのは、長押し判定をなくす処理の中で、
①上記のやり方でも十分にできるのかどうか
②できるのであれば、どのようなコードを描くのが正解なのか
③できないのであれば、どのようなソースを描く(どのような関数を作る)のがふさわしいのか
です。
しっかり理解しながらプログラムを組んでいきたいので、
解説を交えながらご教授いただければ幸いです。
長文失礼しました。また、我が侭が強いと思います。ですが、恐縮ながら、自分の力だけでは厳しいです。
どうかよろしくお願いします。
方向キー入力判定
方向キー入力判定
ほら、来いよ!! 誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!
※都合により、不定期でしか現れません。即返などはできませんのでご了承ください※
※都合により、不定期でしか現れません。即返などはできませんのでご了承ください※
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 方向キー入力判定
こちらは読まれたのでしょうか? それをそのまま実装している処理が有るのですが。
【補足】 正確には、その問題を解決した形で実装したコードです。
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/
「2.9 全てのキーの入力状態を取得する」がそれに当たるのですが、それ以外もちゃんと理解されたほうが後々役立つと思います。
【補足】 正確には、その問題を解決した形で実装したコードです。
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/
「2.9 全てのキーの入力状態を取得する」がそれに当たるのですが、それ以外もちゃんと理解されたほうが後々役立つと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 方向キー入力判定
あ…(汗)
ありがとうございます、そちらのページがあることを忘れていました…
ご指摘ありがとうございます。
今後も不明な点はお尋ねしていこうと思っています。よろしくお願いします。
ありがとうございます、そちらのページがあることを忘れていました…
ご指摘ありがとうございます。
今後も不明な点はお尋ねしていこうと思っています。よろしくお願いします。
ほら、来いよ!! 誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!
※都合により、不定期でしか現れません。即返などはできませんのでご了承ください※
※都合により、不定期でしか現れません。即返などはできませんのでご了承ください※