0

这是 MDN 推荐的在线演示:

  1. https://mdn.github.io/dom-examples/pointer-lock/

它适用于桌面,但不适用于移动设备(Chrome、Edge、FF)。同时,指针锁定 API 被列为在移动设备上广泛支持: https ://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API

更多演示:

  1. Quake 3 WebGL 演示 http://media.tojicode.com/q3bsp/

  2. http://www.smartjava.org/examples/pointerlock/

我自己也实现了,当我使用 JSON.stringify(e) 读取错误事件的内容时,我得到:'{isTrusted:true}'

更新: 我使用了一个更复杂的函数来序列化整个事件对象,所以在添加了 MDN 事件侦听器建议之后:

document.addEventListener('pointerlockerror', lockError, false);
document.addEventListener('mozpointerlockerror', lockError, false);

function lockError(e) {
  serializeEvent(e)
}

我从序列化函数中得到:

返回的错误

更新#2: 我包含了 FF,因为它也不起作用,它只是不会引发错误,而它不规律地跟随指针(高速),没有锁定它并且在触发 pointerlockchange 事件时!

4

0 回答 0