java - 用于在线游戏的 Java 机器人
问题描述
我是java新手,正在尝试为在线游戏制作机器人并进行一些练习。我有一些问题,KeyListener
当我的程序(java)最小化时如何让我工作,这样我就可以最小化我的java bot,然后打开我的游戏(它在窗口模式下)并按下F2开始我的机器人工作。
这是我的代码:
public class Main extends JFrame implements KeyListener {
private static Robot robot = null;
public Main(){
try {
robot = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
setSize(100,100);
setVisible(true);
addKeyListener(this);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
// write your code here
Main f = new Main();
}
public static void click(int x,int y){
robot.mouseMove(x,y);
robot.delay(500);
robot.mousePress(MouseEvent.BUTTON1_MASK);
robot.delay(500);
robot.mouseRelease(MouseEvent.BUTTON1_MASK);
robot.delay(500);
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_F2){
System.out.println("fdsdfg");
click(420,290);
click(300,150);
//Color grey = new Color(236,236,236);
Color pixelColor = robot.getPixelColor(420,290);
if(pixelColor.equals(new Color(238,238,238)))
System.out.println(pixelColor);
System.out.println(pixelColor);
}
if(e.getKeyCode()==KeyEvent.VK_F3){
System.exit(0);
}
}
@Override
public void keyReleased(KeyEvent e) {
}
}
对不起英语不好
解决方案
推荐阅读
- c# - 如何获取游戏对象引用
- c# - 使用 angular4 路由配置 MVC5
- python - TypeError: write() 参数必须是 str,而不是字节
- cron - Hybris 在月底前“x”天运行 cron 作业
- c++ - 使用 mysql-c++-connector 8 将 c++ 连接到 mysql
- javafx - 使用 javafx 中的关键交互修改接口
- azure-data-lake - USQL 文件与托管表 - 如何物理存储数据?
- excel - 用新创建的记录替换第一条记录,而不是在 Excel 工作表中创建新行
- php - 如何使这些数组与 array_diff 函数兼容?
- gradle - Gradle 任务依赖关系:“运行集成测试”与“部署、运行集成测试、终止部署”