그래서, 여기 내 문제가있다. 나는 사용자가 안드로이드 폰과 어떻게 상호 작용하는지에 기반하여 게임에 키 스트로크 메시지를 보내는 자바 프로그램을 가지고있다. (내 Java 프로그램은 wifi를 통한 안드로이드 상호 작용을위한 청취자입니다.) 이제이 작업을 수행하기 위해 java.awt.Robot
을 사용하여 keyPresses를 게임 창에 보냅니다. 사용자가 휴대폰의 터치 스크린을 아래로 누르면로연속적인 키 스트로크를위한 java.awt.Robot.keyPress
if(interacting)
{
Robot robot = new Robot();
robot.keyPress(VK_A);
robot.delay(20); //to simulate the normal keyboard rate
}
지금 변수 interacting
오래 참으로 될 것이며, 내가 무엇을 달성하려는 것은 연속 : 나는 다음과 같은 코드 블록 내 리스너 프로그램에서 작성한 (청취자를 통해) 게임에 전달되는 키 스트로크 메시지 체인. 그러나 이것은 어떤 이유로 성능에 심각한 영향을 미칩니다. 게임 속도가 느려지고 (프레임 속도가 빠르게 떨어짐), 컴퓨터가 일반적으로 느려지는 것을 알게되었습니다. 무슨 일있어? 각각 keyPress
뒤에 robot.keyRelease(VK_A)
을 사용해야합니까? 그러나 내 게임은 키의 릴리스와 다른 동작이 매핑되어 있으므로 빠른 키 누르기와 놓기를 원하지 않습니다. 내가 정말로 원하는 것은 사용자가 직접 키보드의 A
키를 누를 경우 동작하는 방식 인 정확히에서 연속 키 입력을 시뮬레이트하는 것입니다. 도와주세요.
어? 안드로이드는 AWT 로봇을 제공하지 않습니다. –