XRInputSourceEvent
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Giao diện XRInputSourceEvent của WebXR Device API mô tả một sự kiện xảy ra trên thiết bị đầu vào người dùng WebXR như bộ điều khiển cầm tay, hệ thống theo dõi ánh mắt, hoặc hệ thống theo dõi chuyển động. Cụ thể hơn, chúng đại diện cho sự thay đổi trạng thái của XRInputSource.
Để tìm hiểu thêm về việc xử lý đầu vào trong dự án WebXR, hãy xem bài viết Đầu vào và nguồn đầu vào.
Hàm khởi tạo
XRInputSourceEvent()-
Tạo và trả về đối tượng
XRInputSourceEventmới có các thuộc tính khớp với những thuộc tính được cung cấp trong từ điểneventInitDict.
Thuộc tính phiên bản
frameRead only-
Một đối tượng
XRFramecung cấp thông tin cần thiết về khung sự kiện trong đó sự kiện xảy ra. Khung này có thể đã được render trong quá khứ thay vì là khung hiện tại. Vì đây là khung sự kiện, không phải khung hoạt ảnh, bạn không thể gọi phương thứcXRFramegetViewerPose()trên nó; thay vào đó, hãy sử dụnggetPose(). inputSourceRead only-
Một đối tượng
XRInputSourcecho biết nguồn đầu vào nào đã tạo ra sự kiện đầu vào.
Phương thức phiên bản
Giao diện XRInputSourceEvent không định nghĩa bất kỳ phương thức nào; tuy nhiên, một số phương thức được kế thừa từ giao diện cha Event.
Loại sự kiện
select-
Được gửi đến
XRSessionkhi nguồn đầu vào gửi đã hoàn thành đầy đủ một hành động chính. selectend-
Được gửi đến
XRSessionkhi một hành động chính đang diễn ra kết thúc, hoặc khi nguồn đầu vào có hành động chính đang diễn ra đã bị ngắt kết nối khỏi hệ thống. selectstart-
Được gửi đến
XRSessionkhi nguồn đầu vào bắt đầu hành động chính, cho biết người dùng đã bắt đầu lệnh, chẳng hạn như nhấn cò hoặc nút, phát lệnh bằng giọng nói, chạm vào touchpad, v.v. squeeze-
Được gửi đến
XRSessionkhi nguồn đầu vào gửi đã hoàn thành đầy đủ một hành động bóp chính. squeezeend-
Được gửi đến
XRSessionkhi một hành động bóp chính đang diễn ra kết thúc hoặc khi nguồn đầu vào có hành động bóp chính đang diễn ra bị ngắt kết nối. squeezestart-
Được gửi đến
XRSessionkhi nguồn đầu vào bắt đầu hành động bóp chính, cho biết người dùng đã bắt đầu nắm, bóp hoặc cầm bộ điều khiển.
Ví dụ
Mã bên dưới thiết lập các trình xử lý cho các sự kiện hành động chính để xác định khi nào người dùng nhấp vào (bắn/chạm vào/bất cứ điều gì) các đối tượng trong cảnh.
xrSession.addEventListener("select", (event) => {
let targetRayPose = event.frame.getPose(
event.inputSource.targetRaySpace,
myRefSpace,
);
if (targetRayPose) {
let hit = myHitTest(targetRayPose.transform);
if (hit) {
/* handle the hit */
}
}
});
Thông số kỹ thuật
| Specification |
|---|
| WebXR Device API> # xrinputsourceevent-interface> |