Re: GetJoypadInputStateについて ( No.1 ) |
- 名前:Will 日時:2014/02/20 09:36
ハードに起因するかもしれない不具合の報告の場合、以下の情報を提示するべきかと思います。
・PC環境
OS、使用しているパッド
・DXライブラリのバージョン
・現象が再現できる最小限のソース
|
Re: GetJoypadInputStateについて ( No.2 ) |
- 名前:管理人 日時:2014/02/22 22:51
キーボードのキーが押しっぱなしになることは私も経験がありますが、
パッドでは今のところ経験したことがありません
ただ、DirectInput や XInput には「不正な入力状態になってしまっているかどうか」を
検出する手段が無いので、そのような状況になってしまったらプログラムを起動し直すしかないです・・・
あとは、もしかしたら ProcessMessage を呼ぶ頻度を上げると現象が発生しにくくなるかもしれません
|
Re: GetJoypadInputStateについて ( No.3 ) |
- 名前:SmokingWOLF 日時:2014/03/04 00:23
どこに報告すればいいか迷っていたのですが、こちらに書かせていただきます。
パッドとは違うのですが、こちらはキーボードのキーが
入りっぱなしになる症状で最近悩んでいました。
しかし、私の場合はソース中に含まれていた
SetSysCommandOffFlag( TRUE );
の関数を「消す」ことで、ゲーム中にキーが押しっぱなしになる現象が非常に起きにくくなりました。
この関数を含む状態と、そうでない状態の差だけで友人に実験してもらったところ、
2回実験すれば1回はキーが押しっぱなしになる状態から、
20回実験しても1度も発生しない状態まで改善されました。
我々も、ProcessMessageの頻度が下がると
キーが押しっぱなしになる現象が発生しやすい印象があったのですが、
上の関数をオフにすることで、ProcessMessageの頻度が下がった場合でも
キーが押されっぱなしになる現象が非常に発生しにくくなったように感じます。
暇がなく、サンプルソースも用意できていない状態なので、
全く見当違いのことを申し上げているかもしれませんが、
もしかしたら何かのヒントになるかもしれません。
|
Re: GetJoypadInputStateについて ( No.4 ) |
- 名前:管理人 日時:2014/03/06 01:14
ご報告ありがとうございます
SetSysCommandOffFlag は無理矢理システムキーを無効にしているので、
想定していない症状が発生してしまっているのかもしれません
個人的にシステムキーを無効化するのはあまり気が進まないのと、
無効の仕方が無理矢理なので同じ WindowsOS 同士でもバージョンが違うと
無効化方法を変えなければならなかったりと面倒なので、
SetSysCommandOffFlag( TRUE ) ; の使用を非推奨としようかと思っています (- -;
|