XRInputSourceArray: forEach() method
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Phương thức forEach() của XRInputSourceArray thực thi callback được chỉ định một lần cho mỗi nguồn đầu vào trong mảng, bắt đầu từ chỉ mục 0 và tiến đến cuối danh sách.
Cú pháp
forEach(callback)
forEach(callback, thisArg)
Tham số
callback-
Một hàm thực thi một lần cho mỗi mục trong mảng
xrInputSourceArray. Callback chấp nhận tối đa ba tham số:currentValue-
Một đối tượng
XRInputSourcelà giá trị của mục từ trongxrInputSourceArrayđang được xử lý hiện tại. currentIndexOptional-
Một giá trị số nguyên cung cấp chỉ mục vào mảng tại vị trí phần tử được cho bởi
currentValue. Nếu bạn không cần biết số chỉ mục, bạn có thể bỏ qua điều này. sourceListOptional-
Đối tượng
XRInputSourceArrayđang được xử lý. Nếu bạn không cần thông tin này, bạn có thể bỏ qua điều này.
thisArgOptional-
Giá trị được sử dụng cho
thistrong khi thực thi callback. Lưu ý rằng nếu bạn sử dụng ký hiệu hàm mũi tên (=>) để cung cấp callback, bạn có thể bỏ quathisArg, vì tất cả hàm mũi tên đều liên kếtthistheo từ vựng.
Giá trị trả về
Undefined.
Ví dụ
Đoạn code này lấy danh sách đầu vào cho một phiên và cố gắng xử lý từng loại thiết bị đầu vào mà nó hỗ trợ.
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 */
}
});
Đối với mỗi đầu vào trong danh sách, callback gửi đầu vào gamepad đến checkGamepad() với đối tượng Gamepad của đầu vào.
Đối với các thiết bị khác, chúng ta tìm kiếm các thiết bị tracked-pointer trong tay chính của người chơi, gửi chúng đến phương thức handleMainHandInput().
Thông số kỹ thuật
This feature does not appear to be defined in any specification.>Tương thích trình duyệt
Xem thêm
- Inputs and input sources
- Phương thức
forEach()củaArray XRInputSource