HTML5 / JS:将光标锁定在canvas元素中

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

本文关键字:canvas 元素 锁定 光标 JS HTML5      更新时间:2023-09-26

所以我正在制作一款html5/js RTS游戏。游戏可以全屏运行。现在的问题是,拥有双屏幕的玩家在移动光标太远时,他们的光标将离开画布并跳转到第二个屏幕。有没有好的方法来防止这种情况?我知道,这是存在的,但这似乎隐藏了光标,这显然不是我想在RTS游戏中看到的。通常我可以画自己的光标,但问题是,这样绘制的光标将取决于帧率,有时可能会下降,所以它会比"正常"光标感觉不那么平滑。那么,有没有一种方法可以将光标锁定在元素中而不隐藏它,并且仍然可以移动,只是停在边框处呢?

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

笑……如果可能的话,你可以想象广告商会把你的鼠标冻结在广告上的"立即购买"按钮上。: -)

如果对你的设计有意义,你可以让你的canvas元素"capture the mouse events"

捕获鼠标使画布接收所有鼠标事件,即使鼠标物理上不在画布元素中。也许这对你的设计有用——也许没有用。

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

祝你游戏顺利!