0

html5 ゲームパッド API を使用していて、コントローラーのトリガー値の Gamepad.axes をポーリングしているときに (通常は、コントローラーに一連のランダム入力を与えると)、軸配列の値が動かなくなるという問題があります。gamepad.axes と同じように、コントローラーに触れていなくても、トリガーの 1 つが完全に押し下げられていることを示します。

スタック:

角度 6.1

ノード 12

Firefox 74

私が試したこと: 私は私たちのコードに関連する可能性のある多くのことを試しました。

  1. ゲームパッドのタイムスタンプを使用してスタックしているかどうかを確認する

これは機能しますが、他の問題も引き起こします。タイム スタンプは、ある位置で動けなくなったときに更新されませんが、ユーザーがトリガーの 1 つを押しているときにも更新されないため、動かなくなっているという誤検知が発生します。

  1. アレイを強制的に更新できるかどうかを確認する

ゲームパッド API 用の組み込みメソッドはまだなく、軸配列は不変です。

  1. ポーリングレートを上げる

非常に高いポーリング レートは必要ないので、100 ミリ秒ごとに設定しましたが、8 ミリ秒に下げると問題が解決したようです。唯一の問題は、理由がわからないことです。gamepad.axes配列をより頻繁にヒットしていますが、これにより配列が以前よりも正確に更新される理由は考えられません。

これには何か理由がありますか?ありがとう!

4

1 に答える 1