トップページ > 過去ログ > 記事閲覧
キー入力のとりこぼしについて
名前:薄力粉 日時: 2010/08/31 08:58

GetJoypadInputStateは呼ばれた瞬間のキー入力しか取得できないので、 60fpsのゲームで1フレームに1回呼んだ場合、例えば17ms周期の3ms〜4ms の2ms間だけボタンが押されていた場合などに取りこぼしてしまうように 思います。 この場合キー入力のチェックだけはもっと高頻度で呼び出すのが一般的 なのでしょうか?それともDirectXレベルでは直前のキー状態を取得でき る関数などがあるのでしょうか?

Page: 1 |

Re: キー入力のとりこぼしについて ( No.1 )
名前:管理人 日時:2010/08/31 09:40

ジョイパッドの状態が変化した際にイベントを発行してもらうという機能が DirectInput にはありますので、それを使用すれば高頻度で呼び出す必要はありませんが、 DXライブラリにはこの機能を利用するための関数はありません、 偶にこの機能自体がジョイパッドの状態変化を取りこぼすことがあるらしいので・・・ ただ、人の手で60fpsのキーチェックを潜るような入力はできないと思うのですが、 何か特殊な事情があるのでしょうか?
Re: キー入力のとりこぼしについて ( No.2 )
名前:薄力粉 日時:2010/08/31 10:32

迅速な回答ありがとうございます。 なるほど、DirectXに機能はあるけど取りこぼすのですか…。 >ただ、人の手で60fpsのキーチェックを潜るような入力はできないと思うのですが、 >何か特殊な事情があるのでしょうか? 格闘ゲーム練習用にコントローラーの入力履歴を取得するアプリを作成 したいと思っておりまして、出来る限りアーケードと同じ環境になるよう にしたいと思ったためです。 (とはいえアーケードでは2msだけチョイ押ししても技は出るという認識も 確証は無いのですが…)
Re: キー入力のとりこぼしについて ( No.3 )
名前:tare 日時:2010/08/31 11:02

描画を10回に1度などにすれば十倍の精度で求めることは出来ますが…… 恐らくウメハラ氏レベルでも60fpsの精度でキャッチ出来ない入力は成せてないと思うので気にしない方がよいかもしれません。

Page: 1 |