我有 CanvasElement,它在单击时请求指针锁定,然后使用onMouseMove
侦听器重复将 moveX 和 motionY 传递给函数(我正在测试第一人称控件)。
它第一次工作正常(页面加载后立即),但如果我按下转义键并再次单击画布,它会成功锁定光标但不会生成MouseEvent
传递给onMouseMove
侦听器的 a。
如果我按下退出键并将鼠标移到文档之外(任何不受标记控制的地方),将其移回文档并单击画布,一切都会再次完美运行。
任何想法是什么导致了这种奇怪的行为?
_canvas.onMouseMove.listen((MouseEvent e) {
if (document.pointerLockElement == _canvas) {
print(e.movement); // debug print
orientateCamera(e.movement);
}
});
_canvas.onClick.listen((e) {
if (document.pointerLockElement == null) {
_canvas.requestPointerLock();
}
});
所有描述的行为都包含在这些代码行中。