iPhoneで Air 太鼓の達人を作る 2
↑これの続きです。
システム構成
(1): ToF AR が入った iOS アプリで手認識
(2): (1) からメッセージ受信、キー入力を発生させる PC プログラム
(3): 太鼓の達人 Windows 版(J key で赤ドン、K key で青カツ)
今回は (2) と (3) の間の技術検証になります。
Java プログラムから太鼓の達人へキー入力
結論から言うと、うまく動作しました。以下が動作の様子です。
わかりにくいですが、画面上部の Eclipse (Java プログラム開発環境) でプログラムを走らせています。J を 5 回、K を 5 回、100 ms ごとに押すだけのプログラムです。
画面下部には太鼓の達人 Windows 版が動作しており、ドン5回 カツ5回が反応しています。上部プログラムの Console への標準出力と同じタイミングで反応していることがわかります。
ツール対策などがゲームアプリ側でされていたりすると、このようなプログラムからのキー入力が受けられないかもしれない、と思ったのですが、特になさそうでした。
実際に動作させたプログラムは以下の通りです。
package jp.hiehie.touchserver;
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
public class TouchServerTest {
public static void main(String[] args) throws AWTException {
Robot rt = new Robot();
// 3秒停止
System.out.println("Wait 3 sec");
rt.delay(3000);
for(int i = 0; i < 5; i++) {
System.out.println("Press J !");
rt.keyPress(KeyEvent.VK_J);
rt.delay(100);
rt.keyRelease(KeyEvent.VK_J);
rt.delay(100);
}
for(int i = 0; i < 5; i++) {
System.out.println("Press K !");
rt.keyPress(KeyEvent.VK_K);
rt.delay(100);
rt.keyRelease(KeyEvent.VK_K);
rt.delay(100);
}
}
}
Robot インスタンスを作って、 J を 5 回、K を 5 回押してるだけですね。
今回は短いですがここまで。次回は Unity で作ったスマホアプリと LAN 内接続して、スマホ操作の信号を受信してキー入力へ変換するテストを行いたいと思います。
続きはこちら↓