使用鼠标控制HTML画布中的游戏

5

我正在尝试找出JavaScript和HTML是否可以控制鼠标并引入相对运动控制-第一人称游戏中获得的鼠标控制类型(其中鼠标可以在一个方向上移动,玩家将无限旋转直到鼠标停止)。

我唯一能想到的实现方法是通过JavaScript控制鼠标,但我确定这是不可能的。有人有什么想法吗?

3个回答

3

好消息,随着鼠标锁定(Mouse Lock)的引入,您可以捕获相对运动。


不是很受支持,但绝对值得注意。 - Nightfirecat

2

根据你所制作的内容,你可以像飞行模拟器一样进行操作。这意味着,变化速率是由鼠标距离中心/静止位置的距离决定的,而不是实际鼠标的增量。然而,这种方法只适用于车辆类游戏。


1

不完全是。你可以模拟这个过程:在onmousemove事件中获取X和Y坐标,然后计算光标相对于游戏视口的位置(例如,如果游戏发生在从[100,100]到[200,200]的正方形中,则鼠标在[59,92]处意味着“向左转”,因为它在游戏的“中心”[150,150]的左侧)。

可能会出现的问题:一旦鼠标移出浏览器窗口,您将停止接收事件(建议玩家最大化窗口以获得最佳体验?)。


这正是我所想的...所以如果玩家想要连续向右转,他会到达屏幕的边缘...这不是我想要的 :( - Greg
1
@Greg:确实。浏览器中的JavaScript有许多安全限制,否则浏览器会吃掉你的电脑(这正是IE4左右发生的事情,它没有足够的安全限制)。 - Piskvor left the building

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接