Как я могу использовать java.awt.Robot внутри игр? - PullRequest
1 голос
/ 18 сентября 2011

Я занимаюсь разработкой приложения для Android, которое управляет клавиатурой и мышью ПК. Я хотел добавить новую функцию (используя свой мобильный телефон в качестве игрового контроллера). Я использую java.awt.Robot. Он отлично работает в управлении клавиатурой и мышью. Но когда я использовал его с играми, java.awt.Robot не нажимает кнопки. Когда я выхожу из игры, она снова работает нормально.

Например:

if (senderPropertyOne.equalsIgnoreCase("l")) {
    robot.keyPress(KeyEvent.VK_LEFT);
    robot.keyRelease(KeyEvent.VK_LEFT);
} else if (senderPropertyOne.equalsIgnoreCase("r")) {
    robot.keyPress(KeyEvent.VK_RIGHT);
    robot.keyRelease(KeyEvent.VK_RIGHT);
} else if (senderPropertyOne.equalsIgnoreCase("u")) {
    robot.keyPress(KeyEvent.VK_UP));        
    robot.keyRelease(KeyEvent.VK_UP);
} else if (senderPropertyOne.equalsIgnoreCase("d")) {
   robot.keyPress(KeyEvent.VK_DOWN);
   robot.keyRelease(KeyEvent.VK_DOWN);

Это хорошо работает во флэш-играх в интернете, но когда я запускаю обычную игру на моем компьютере (например, про эволюционный футбол), она не работает.

Ответы [ 2 ]

0 голосов
/ 22 февраля 2012

Кстати ... проблема в том, что пакет awt не является частью Android, и поэтому вы не можете его использовать.

0 голосов
/ 22 февраля 2012

Спасибо всем, что не помогаете мне.Мне удалось решить эту проблему, опубликованное приложение для Android с 100000 загрузками:)

Я разрабатывал приложение для Android, которое позволяло бы телефону Android управлять ПК и использовать телефон Android в качестве игрового контроллера для ПК.Я использовал TCP и столкнулся с проблемой, что я не могу управлять играми.

Когда я использовал UDP вместо этого, проблема была исправлена.Я не знаю, была ли TCP основной причиной или нет, но моя проблема исправлена, и мое приложение опубликовано на Android market :)

...