2

我目前正在尝试制作一个程序,该程序将自动接受游戏客户端内的弹出队列。当不在客户端内部时,我已经设法让一切以我想要的方式工作。但是,当打开游戏客户端时,我使用的机器人类失去了移动、按下和释放鼠标的能力。但是,它似乎仍在本地分析指针处的颜色。那是; 不在游戏客户端里面。

这是应用程序的代码片段:

/分析循环内鼠标指针位置的颜色。当它更改到某个限制/弹出菜单时,if-sentence 变为 true,并触发一个小的延迟,然后鼠标单击接受按钮应该在的位置/

p = MouseInfo.getPointerInfo().getLocation();

rgb = this.robot.getPixelColor(px, py);

/ (这是接受按钮相对于 16:9 格式的所有游戏内客户端的位置) /

this.robot.mouseMove((int)(inGameScrnSize.width * 0.4575), (int)(inGameScrnSize.height * 0.4753));

机器人.延迟(100);

机器人.mousePress(InputEvent.BUTTON1_MASK);

机器人.mouseRelease(InputEvent.BUTTON1_MASK);


所以我的问题是:如何从游戏客户端访问和发送 I/O 设备信息?java Robot类可以做到这一点吗?

4

1 回答 1

1

我记得这是关于如何使用 Java 编写的算法从 WoW 客户端内控制 I/O,该算法将从桌面坐标系启动客户端。问题是,一旦机器人对象被实例化,它会将所有方法调用解释为在它被实例化的坐标系中,因此一旦你在客户端坐标系内部启动它就可以工作(我必须工作很好),但不能连续在两个不同的坐标系内。因此,在焦点切换到第二个坐标系后实例化一个新的机器人类应该可以正常工作。

于 2013-11-06T10:11:14.993 回答