Spec-Zone.ru › Web APIs

XRInputSourceArray: метод forEach()

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает во всех широко используемых браузерах.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Экспериментально: Это экспериментальная технология
Перед использованием в рабочей среде внимательно проверьте таблицу совместимости с браузерами.

Метод XRInputSourceArray forEach() выполняет указанный обратный вызов один раз для каждого источника ввода в массиве, начиная с индекса 0 и продолжая до конца списка.

Синтаксис

forEach(callback)
forEach(callback, thisArg)

Параметры

callback

Функция, которая выполняется один раз для каждой записи в массиве xrInputSourceArray. Обратный вызов может принимать до трех параметров:

currentValue

Объект XRInputSource, представляющий значение элемента из xrInputSourceArray, который в данный момент обрабатывается.

currentIndex Необязательно

Целочисленное значение, представляющее индекс в массиве элемента, указанного currentValue. Если индекс не нужен, его можно опустить.

sourceList Необязательно

Объект XRInputSourceArray, который обрабатывается. Если эта информация не нужна, ее можно опустить.

thisArg Необязательно

Значение, которое будет использоваться для this при выполнении обратного вызова. Обратите внимание, что если вы используете стрелочную нотацию функций (=>) для задания обратного вызова, вы можете опустить thisArg, так как все стрелочные функции лексически связывают this.

Возвращаемое значение

Неопределено.

Примеры

В этом примере фрагмента кода извлекается список вводов для сеанса и обрабатывается каждый тип устройства ввода, которое поддерживается.

let inputSources = xrSession.inputSources;

inputSources.forEach((input) => {
  if (input.gamepad) {
    checkGamepad(input.gamepad);
  } else if (
    input.targetRayMode === "tracked-pointer" &&
    input.handedness === player.handedness
  ) {
    /* Handle main hand controller */
    handleMainHandInput(input);
  } else {
    /* Handle other inputs */
  }
});

Для каждого элемента ввода в списке обратный вызов направляет данные джойстика на checkGamepad() с объектом Gamepad ввода, взятым из свойства gamepad, как вход.

Для других устройств мы ищем устройства tracked-pointer в основной руке игрока, направляя их на метод handleMainHandInput().

Спецификации

Спецификация не найдена

Данные спецификации для api.XRInputSourceArray.forEach не найдены.
Проверьте проблемы с этой страницей или внесите отсутствующую spec_url в mdn/browser-compat-data. Также убедитесь, что спецификация включена в w3c/browser-specs.

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
forEach 79 79 Нет 66 Нет 79 Нет 57 Нет 11.2 Нет

См. также

  • Входы и источники ввода
  • Метод Array forEach()
  • XRInputSource

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XRInputSourceArray/forEach

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API