所以我正在制作一个 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/