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 | Нет |
См. также
- Входы и источники ввода
- Метод
ArrayforEach() 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