新年快乐程序员!
想象一下两台Java Swing游戏在一台带有两只老鼠的计算机上运行。 是否可以为每个玩家分配一个鼠标并锁定每个鼠标 鼠标依次交换活动鼠标? 两只鼠标都将共享相同的MouseListener方法。
我看不到互联网对这种可能性的引用,但我觉得如此 之前已经访问过这种情况。
georgeFK
答案 0 :(得分:3)
问题是底层OS层的设备处理。大多数系统将输入合并为单个虚拟鼠标,这就是为什么您可以同时激活触控板和USB鼠标的原因。当然,当你尝试使用它们时,它会导致指针移动中的冲突。
我认为你实现这个的方式是通过一个直接与一个特定鼠标设备对话的本地方法。因此,您将使用其中两个对象来轮询每个鼠标并控制屏幕上的游戏控件。
答案 1 :(得分:3)
这是可能的,但当然不是纯Java,因此你必须使用一些JNI。
查看ManyMouse。
ManyMouse是一个抽象多个鼠标处理的库 输入一个微小的跨平台API。它意味着与之一起使用 具有独特输入需求的游戏和非传统应用程序。上 大多数平台,它至少可以使所有USB鼠标可用,但在 许多情况下可以制作串行鼠标和内置笔记本电脑触控板 也可以。
以下是源代码以及由于某些原因在实际网站上无法提供的所有内容:
答案 2 :(得分:0)
一个有趣的问题。整个MSDN Mouse Input manual没有提及控制信号来自哪个鼠标。
当然,它有BIOS命令,但因此您的代码仅适用于特定的计算机。
所以,如果你想要一个通用的解决方案,你应该编写自己的“双鼠标驱动程序”。或者在网上寻找。