Donc, voici mon problème. J'ai un programme Java qui enverra des messages de frappe à un jeu (construit dans Unity), basé sur la façon dont l'utilisateur interagit avec un téléphone Android. (Mon programme Java est un écouteur pour l'interaction android sur wi-fi) Maintenant, pour ce faire, j'utilise java.awt.Robot
pour envoyer keyPresses à la fenêtre de jeu. Je le bloc de code suivant écrit dans mon programme d'écoute:java.awt.Robot.keyPress pour les frappes en continu
if(interacting)
{
Robot robot = new Robot();
robot.keyPress(VK_A);
robot.delay(20); //to simulate the normal keyboard rate
}
Maintenant, la interacting
variable sera vrai tant que l'utilisateur appuie sur l'écran tactile du téléphone, et ce que je veux réaliser est un processus continu chaîne de messages de frappe étant livrés au jeu (à travers l'auditeur). Cependant, cela affecte gravement les performances, pour une raison quelconque. Je remarque que le jeu devient lent (baisse rapide des fréquences d'images), et même l'ordinateur devient lent, en général. Qu'est-ce qui ne va pas? Dois-je utiliser un robot.keyRelease(VK_A)
après chaque keyPress
? Mais mon jeu a une action différente mappée à la sortie d'une clé, et je ne veux pas de presses rapides et de sorties; ce que je veux vraiment, c'est de simuler des frappes continues, en exactement la façon dont il se comporterait si l'utilisateur appuyait sur la touche A
sur leur clavier manuellement. S'il vous plaît aider.
Hein? Android n'offre pas de robot AWT. –