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 内接続して、スマホ操作の信号を受信してキー入力へ変換するテストを行いたいと思います。

続きはこちら↓


この記事が気に入ったらサポートをしてみませんか?