--- title: Gamepad API slug: Web/API/Gamepad_API tags: - API - Gamepad API - Игры - Обзор - Экспериментальный translation_of: Web/API/Gamepad_API --- <div>{{DefaultAPISidebar("Gamepad API")}}</div> <p>API Gamepad - это простой и последовательный способ для разработчиков получать доступ к сигналам с геймпадов и других игровых контроллеров и реагировать на них. Он содержит три интерфейса, два события и одну специализированную функцию, чтобы реагировать на подключение и отключение геймпадов, а также получать доступ к другой информации о самих геймпадах и о том, какие кнопки и другие элементы управления в настоящее время нажимаются.</p> <h2 id="Интерфейсы">Интерфейсы</h2> <dl> <dt><a href="https://developer.mozilla.org/en-US/docs/Web/API/Gamepad" title="The Gamepad interface of the Gamepad API defines an individual gamepad or other controller, allowing access to information such as button presses, axis positions, and id."><code>Gamepad</code></a></dt> <dd>Представляет собой геймпад/контроллер, подключенный к компьютеру.</dd> <dt><a href="https://developer.mozilla.org/en-US/docs/Web/API/GamepadButton" title="The GamepadButton interface defines an individual button of a gamepad or other controller, allowing access to the current state of different types of buttons available on the control device."><code>GamepadButton</code></a></dt> <dd>Представляет собой кнопку одного из подключенных контроллеров</dd> <dt><a href="https://developer.mozilla.org/en-US/docs/Web/API/GamepadEvent" title="The GamepadEvent interface of the Gamepad API contains references to gamepads connected to the system, which is what the gamepad events Window.gamepadconnected and Window.gamepaddisconnected are fired in response to."><code>GamepadEvent</code></a></dt> <dd>Объект события, представляющий запущенные события, связанные с геймпадами.</dd> </dl> <h3 id="Экспериментальные_расширения_геймпада">Экспериментальные расширения геймпада</h3> <dl> <dt><a href="https://developer.mozilla.org/en-US/docs/Web/API/GamepadHapticActuator" title="The GamepadHapticActuator interface of the Gamepad API represents hardware in the controller designed to provide haptic feedback to the user (if available), most commonly vibration hardware."><code>GamepadHapticActuator</code></a></dt> <dd>Представляет собой аппаратное обеспечение в контроллере, предназначенное для обеспечения тактильной обратной связи с пользователем (если таковая имеется), чаще всего вибрационное оборудование.</dd> <dt><a href="https://developer.mozilla.org/en-US/docs/Web/API/GamepadPose" title="The GamepadPose interface of the Gamepad API represents the pose of a WebVR controller at a given timestamp (which includes orientation, position, velocity, and acceleration information.)"><code>GamepadPose</code></a></dt> <dd>Представляет собой позу контроллера (например, положение и ориентацию в трехмерном пространстве) в случае контроллера WebVR. Это не используется в более новом стандарте WebXR.</dd> </dl> <p>Сморите также <a href="https://developer.mozilla.org/en-US/docs/Web/API/Gamepad#Experimental_extensions_to_Gamepad">extensions to the Gamepad interface</a> (расширения интерфейса геймпада) для функций, которые позволяют получить доступ к вышеуказанной информации.</p> <h3 id="Расширения_для_других_интерфейсов">Расширения для других интерфейсов</h3> <h4 id="Навигатор">Навигатор</h4> <dl> <dt>{{domxref("Navigator.getGamepads()")}}</dt> <dd>Расширение объекта {{domxref("Navigator")}}, возвращающее массив объектов {{domxref("Gamepad")}} по одному для каждого подключенного геймпада.</dd> </dl> <h4 id="События_окна">События окна</h4> <dl> <dt>{{domxref("Window.ongamepadconnected")}}</dt> <dd>Представляет собой обработчик событий, который будет выполняться при подключении геймпада (когда срабатывает событие {{event('gamepadconnected')}}).</dd> <dt>{{domxref("Window.ongamepaddisconnected")}}</dt> <dd>Представляет собой обработчик событий, который будет выполняться при отключении геймпада (когда срабатывает событие {{event('gamepaddisconnected')}}).</dd> </dl> <dl> </dl> <h2 id="Учебные_пособия_и_руководства">Учебные пособия и руководства</h2> <ul> <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API">Using the Gamepad API</a></li> <li><a href="/en-US/docs/Games/Techniques/Controls_Gamepad_API">Implementing controls using the Gamepad API</a></li> </ul> <h2 id="Технические_характеристики">Технические характеристики</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> <th scope="col">Примечание</th> </tr> <tr> <td>{{SpecName("GamepadExtensions")}}</td> <td>{{Spec2("GamepadExtensions")}}</td> <td>Определяет {{anch("Experimental Gamepad extensions")}}.</td> </tr> <tr> <td>{{SpecName("Gamepad", "", "The Gamepad API specification")}}</td> <td>{{Spec2("Gamepad")}}</td> <td>Первоначальное определение</td> </tr> </tbody> </table> <h2 id="Совместимость_браузера">Совместимость браузера</h2> <div class="hidden">Таблица совместимости на этой странице создается на основе структурированных данных. Если вы хотите внести свой вклад в эти данные, пожалуйста, проверьте: <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</div> <p>{{Compat("api.Gamepad")}}</p> <h2 id="Прочтите_также">Прочтите также</h2> <ul> <li><a class="external text" href="https://hacks.mozilla.org/2013/12/the-gamepad-api/" rel="nofollow">The Gamepad API</a>, авторы: Тед Мельчарек и Роберт Найман</li> <li><a href="http://luser.github.io/gamepadtest/">Simple API demo page</a> (<a href="https://github.com/luser/gamepadtest">source</a>)</li> </ul>