How can I use java.awt.Robot inside games?

江枫思渺然 提交于 2019-12-11 08:20:55

问题


I am developing an Android application that controls the PC keyboard and mouse. I wanted to add a new feature (using your mobile as a game controller). I am using java.awt.Robot. It works fine in controlling the keyboard and mouse. But when I used it with games, java.awt.Robot doesn't press buttons. When I go outside the game, it works fine again.

For example:

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);

This works fine in Flash games on the internet, but when I launch a normal game on my PC (like pro evolution soccer), it doesn't work.


回答1:


Btw... the problem is that the awt package is not part of Android and you can therefore not use it.




回答2:


Thank you all for not assisting me. I managed to fix the issue, published Android app with 100000 downloads :)

I was developing an android app that let Android phone control PC and use Android phone as a game controller for PC. I was using TCP and faced thae issue that I cant control games.

When I used UDP instead, the issue fixed. I dont know TCP was the root cause or not but my issue fixed now and my app published on Android market :)



来源:https://stackoverflow.com/questions/7463667/how-can-i-use-java-awt-robot-inside-games

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!