Фундаментальные знания по основам программирования
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/zrgj
Post #5129
276

Как читать ввод с геймпада в JavaScript и не принять поломку за норму
В Gamepad API нет событий о движении стиков и нажатии кнопок. Контроллер приходится опрашивать в цикле
В Chromium есть ловушка. Ось отдаёт ноль, пока браузер хотя бы раз не увидит её значение в диапазоне от −0,1 до 0,1. Сильно дрейфующий стик может не попасть туда и выглядеть исправным.
Потренируйтесь: подключите геймпад, нажмите кнопку и откройте консоль. Выведите значения осей, проведите стик через центр и проверьте, когда вместо нулей появятся реальные данные. Готовый код и разбор того, почему браузер не всегда определяет модель контроллера, есть в руководстве freeCodeCamp.
В Gamepad API нет событий о движении стиков и нажатии кнопок. Контроллер приходится опрашивать в цикле
requestAnimationFrame и на каждом кадре заново вызывать navigator.getGamepads(): сохранённый объект содержит старый снимок.В Chromium есть ловушка. Ось отдаёт ноль, пока браузер хотя бы раз не увидит её значение в диапазоне от −0,1 до 0,1. Сильно дрейфующий стик может не попасть туда и выглядеть исправным.
Потренируйтесь: подключите геймпад, нажмите кнопку и откройте консоль. Выведите значения осей, проведите стик через центр и проверьте, когда вместо нулей появятся реальные данные. Готовый код и разбор того, почему браузер не всегда определяет модель контроллера, есть в руководстве freeCodeCamp.
- ❤ 1

















