如何在canvas / div中包含我的鼠标指针?

时间:2013-10-31 04:35:44

标签: javascript html5 canvas web cursor

我目前正在尝试制作一个小型的html5画布游戏。 我希望我的鼠标指针保持在div元素或画布边界内。 请指出正确的方向。 我将使用javascript,jquery,html5,css3等..

1 个答案:

答案 0 :(得分:2)

您可以使用新的Pointer Lock API

但是,请注意 - 它目前处于实验状态,因此将成为变化,不稳定和不兼容的目标。它目前仅在Firefox和Chrome中受支持。

摘自上面链接的文章(我的重点):

  

指针锁(以前称为鼠标锁)提供基于输入法   关于鼠标随时间的移动(即三角洲),而不仅仅是   鼠标光标的绝对位置。它让您访问原始   鼠标移动,将鼠标事件的目标锁定到单个元素,   消除了单个鼠标移动距离的限制   方向,并从视图中删除光标。

     

此API对需要大量鼠标的应用程序非常有用   用于控制移动,旋转对象和更改条目的输入。它是   对于高度可视化的应用程序尤其重要,例如那些   使用第一人称视角,以及3D视图和建模。

     

例如,您可以创建允许用户控制的应用   只需在没有任何按钮的情况下移动鼠标即可查看视角   点击。然后释放按钮以执行其他操作。这种类型的   鼠标输入非常方便查看地图,卫星图像或   第一人称场景(例如游戏或沉浸式视频)。

     

指针锁可让您即使在光标移动时也可以访问鼠标事件   超过浏览器或屏幕的边界。例如,您的用户   可以通过移动鼠标继续旋转或操纵3D模型   没有尽头。如果没有指针锁定,旋转或操作将停止   指针到达浏览器或屏幕边缘的那一刻。游戏   玩家将会对此功能感到特别激动,因为他们可以   狂热地点击按钮并来回滑动鼠标光标   不用担心离开游戏区而不小心   单击另一个应用程序将鼠标焦点远离   游戏。悲剧!

另见示例链接。