起因:最近在玩一款手游,日常任务较为机械繁琐,故想利用脚本来自动完成,之前用C++写过一个鼠标脚本精灵,但是功能较单一,所以就没采用,想起来之前在B站看到过有人用Java来写脚本,便也想尝试一下。
主要解决问题
划线为已解决,其余还有待学习研究。
1. Java中模拟鼠标按下抬起操作、模拟键盘按键;
利用Java自带的自动化测试类Robot,包为java.awt.Robot。
Robot中提供了许多用于自动化测试的方法:
可以通过查找API文档,如 API文档-java.awt.Robot;
如果利用Robot来实现脚本则需要注意一些问题:
模拟鼠标点击不能单单调用mousePress()来实现,应该考虑到人性化,即
一、玩家鼠标点击是包含鼠标按下与鼠标释放两个过程;
Robot bush = new Robot();
bush.mousePress(InputEvent.BUTTON1_DOWN_MASK);
bush.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
二、要考虑玩家鼠标点击过程中鼠标按下与释放是有间隔的,一般在0.2~0.4秒之间;
这里利用到Random来实现随机数,即实现每次鼠标点击时按下与释放的间隔不同,从而降低被游戏检测为脚本的风险。
Robot bush = new Robot();
Random random = new Random();
bush.mousePress(InputE