javascript - HTML5/JS : have the cursor locked in a canvas element

标签 javascript html canvas cursor

所以我正在制作一个 html5/js RTS 游戏。游戏可以全屏运行。现在的问题是,双屏玩家将光标移动得太远时,光标会离开 Canvas 并跳到第二个屏幕。有什么好的方法可以防止这种情况发生吗? 我知道,有this ,但这似乎隐藏了光标,这显然不是我在 RTS 游戏中想要的。 Ofc 我可以绘制自己的光标,但问题是,绘制的光标将取决于帧速率,有时可能会下降一点,所以感觉比“正常”光标不太平滑。那么,有没有一种方法可以将光标锁定在元素中而不隐藏它,并且仍然可以移动但只是停在边框处?

最佳答案

没有方法限制用户的鼠标移动。

咯咯地笑...如果可能的话,您可以想象广告商会将您的鼠标卡住在广告上的“立即购买”按钮上。 :-)

如果这对您的设计有意义,您可以让 Canvas 元素“捕获鼠标事件”。

捕获鼠标使 Canvas 接收所有鼠标事件,即使鼠标物理上位于 Canvas 元素之外。也许这对您的设计有用——也许没有。

https://developer.mozilla.org/en-US/docs/Web/API/Element.setCapture

祝您游戏愉快!

关于javascript - HTML5/JS : have the cursor locked in a canvas element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24770559/

相关文章:

javascript - 在Google Apps脚本中获取直线旋转 Angular

javascript - 将 HTML Canvas 保存到图像将无法正常工作

javascript - 将 C++ 代码连接到 Electron 应用程序中的 HTML Canvas ?

javascript - 在Javascript的另一个页面中获取JSON信息

javascript - react native : How to switch page without using NavigatorIOS component?

javascript - 通过JS检查宽度元素

javascript - 每时每刻隐藏元素

html - 在流体布局中底部对齐右 div 元素

python - 我可以打印 HTML,就像在 python 中没有标签的网页中查看的那样吗?

javascript - HTML offsetLeft 延迟更改