これは私の問題です。私は、ユーザーがアンドロイド携帯電話とやり取りする方法に基づいて、ゲームにキーストロークメッセージを送信するJavaプログラムを持っています(Unityで構築されています)。 (私のJavaプログラムはwi-fi上のAndroidインタラクションのリスナーです)これを行うために、私はjava.awt.Robot
を使用してkeyPressをゲームウィンドウに送ります。私は自分のリスナープログラムで書かれた次のコードブロックを持っている:連続したキーストロークのための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
キーを手動で押した場合の動作と同じように、連続したキーストロークをシミュレートすることです。正確にはです。助けてください。
Huh? AndroidはAWTロボットを提供していません。 –