我目前正在尝试制作一个程序,该程序将自动接受游戏客户端中的弹出队列。当不在客户内部时,我已经设法让一切按照我想要的方式工作。然而,当打开游戏客户端时,我使用的机器人类失去了移动、按下和释放鼠标的能力。但是,它似乎仍在本地分析指针处的颜色。那是;不在游戏客户端中。
这是应用程序的代码片段:
/分析循环内鼠标指针位置的颜色。当它更改到某个限制/弹出菜单时,if 语句变为真,并触发一个小延迟,然后鼠标点击接受按钮应该在的位置/
p = MouseInfo.getPointerInfo().getLocation();
rgb = this.robot.getPixelColor(p.x, p.y);
/(这是接受按钮相对于 16:9 格式的所有游戏内客户端的位置)/
this.robot.mouseMove((int)(inGameScrnSize.width * 0.4575), (int)(inGameScrnSize.height * 0.4753));
机器人延时(100);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
所以我的问题是:如何从游戏客户端访问和发送 I/O 设备信息? java Robot 类可以做到这一点吗?
最佳答案
我记得这是关于如何使用用 Java 编写的算法从 WoW 客户端内部控制 I/O,该算法将从桌面坐标系启动客户端。问题是一旦机器人对象被实例化,它将所有方法调用解释为在它被实例化的坐标系中,因此一旦你在客户端坐标系中启动它就可以工作(我开始工作就好了),但不是连续在两个不同的坐标系内。因此,在焦点切换到第二个坐标系后实例化一个新的机器人类应该可以正常工作。
关于java - 我如何从游戏客户端访问和发送 I/O 设备信息,更具体地说是鼠标移动和单击(按下并释放)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14837676/