我目前正在尝试制作一个小型的html5画布游戏。 我希望我的鼠标指针保持在div元素或画布边界内。 请指出正确的方向。 我将使用javascript,jquery,html5,css3等..
答案 0 :(得分:2)
您可以使用新的Pointer Lock API。
但是,请注意 - 它目前处于实验状态,因此将成为变化,不稳定和不兼容的目标。它目前仅在Firefox和Chrome中受支持。
摘自上面链接的文章(我的重点):
指针锁(以前称为鼠标锁)提供基于输入法 关于鼠标随时间的移动(即三角洲),而不仅仅是 鼠标光标的绝对位置。它让您访问原始 鼠标移动,将鼠标事件的目标锁定到单个元素, 消除了单个鼠标移动距离的限制 方向,并从视图中删除光标。
此API对需要大量鼠标的应用程序非常有用 用于控制移动,旋转对象和更改条目的输入。它是 对于高度可视化的应用程序尤其重要,例如那些 使用第一人称视角,以及3D视图和建模。
例如,您可以创建允许用户控制的应用 只需在没有任何按钮的情况下移动鼠标即可查看视角 点击。然后释放按钮以执行其他操作。这种类型的 鼠标输入非常方便查看地图,卫星图像或 第一人称场景(例如游戏或沉浸式视频)。
指针锁可让您即使在光标移动时也可以访问鼠标事件 超过浏览器或屏幕的边界。例如,您的用户 可以通过移动鼠标继续旋转或操纵3D模型 没有尽头。如果没有指针锁定,旋转或操作将停止 指针到达浏览器或屏幕边缘的那一刻。游戏 玩家将会对此功能感到特别激动,因为他们可以 狂热地点击按钮并来回滑动鼠标光标 不用担心离开游戏区而不小心 单击另一个应用程序将鼠标焦点远离 游戏。悲剧!
另见示例链接。