keyPress () не захватывает ключевые события AWT - PullRequest
0 голосов
/ 22 декабря 2018

Чтобы познакомиться с классом роботов, решили сделать программу, управляющую персонажем из игры Minecraft, но, к сожалению, этот код не работает в игре.Письмо напечатано в блокноте, но не может вывести персонажа из игры на прогулку.

import java.awt.*;
import java.awt.event.KeyEvent;

public class Main {
    public static void main(String[] args) {
        try {
            Robot robot = new Robot();
            robot.keyPress(KeyEvent.VK_W);
            robot.delay(1000);
            robot.keyRelease(KeyEvent.VK_W);
        } catch (AWTException e) {
            e.printStackTrace();
        }
    }
}

1 Ответ

0 голосов
/ 22 декабря 2018

Это должно работать, так как он просто нажимает и отпускает клавишу, как любой пользователь.Обратите внимание, что вы должны сосредоточиться на игре , пока робот нажимает клавишу, иначе она будет нажимать клавишу для текущего сфокусированного приложения.

Выполните следующие действия,

  • Добавитьначальная задержка для робота, robot.delay(5000);
  • Запустите программу робота
  • Переключитесь на игру или выберите приложение, для которого вы хотите нажать эту клавишу
  • Подождите, пока роботдействовать!

Робот слепо нажимает и отпускает клавишу независимо от приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...