読者です 読者をやめる 読者になる 読者になる

ナカザンドットネット

Android Developer's memo

3・2・1

Android zeemote

※この記事はAndroid Advent Calendarの裏エントリ12/19分です。
※表の記事はぱとらっしゅさんが書いてらっしゃいます。こちらもどうぞ。

正直なに書こうか最後まで悩んだ

他のAdvent Calendarもそうですが、Android Advent Calendarもご多分に漏れず、ガチな内容の記事が多くて、自分の番が近づくごとに『何か俺も真面目な記事を書かんとアカンのでは』とプレッシャーが積み重なっておりました。
最後の逃げ道として、ドロヒカリの半生を振り返る、というネタもあったのですが、それだとあまりに楽すぎて他の方たちに顔向けができないということで却下。*1
何かネタはないものかと、悩ましい日々を送っておりました・・・

ほれ

オーキド「そこに5台のZeemoteがあるじゃろ?」

f:id:Nkzn:20111219202348j:image

ありました。*2

Zeemoteといえば

ZeemoteからSurfaceView動かしてみた。
d:id:Nkzn:20110116:1295186458

ZeemoteSDK利用のサンプル
d:id:Nkzn:20110123:1295756655

ABC 2011 WinterのときにもらったZeemoteの記事を書いたりして、アクセス数を稼がせていただきました。

今回は何をやろう。

Zeemoteで何かやろう。と考えましたが、さて、なにをやろうか。
どうせだから趣味全開で行きたいなあ、とか考えていたときに思い出したのがこちらになります。

よし、俺はフォーゼでいこう。

できました。

Zeemote4台とIDEOSによる、似非フォーゼドライバー。

宇宙キター!!!!
※WebカメラでIDEOSのディスプレイを直接撮るのは無理があったので、androidscreencastを使っています。

コード

サンプルコード「AirHockey」を改造して作りました。
継ぎ接ぎだらけて汚いので、後日公開ということにさせてください。。。
一カ所だけ詰まった点をご紹介。

controller = new Controller(int id);

↑のような形でコントローラ用のインスタンスを作ります。
JavaDoc上のルールでは「idをゼロ以下にはしないこと」と書いてあったのですが、たぶんもう1つのルールがあります。
『1つ目のコントローラのidは1であること』です。
AirHockeyサンプルも、idを3と4にすると動かないのに、1と1000だと動くという変なことになってました。
deprecatedなController.CONTROLLER_1やController_CONTROLLER_2があったことも相まって、当初はコントローラが2つまでしか認識されないんじゃないかと勘違いしてしまっていました。
今回は最終的に、idを1,2,3,4で振っています。

感想

音が鳴り始めたあたりから、かなり楽しかったです。

ただね、Zeemote SDKが使いづらい。。。。
Bluetooth部分はほとんど見えないようにしてくれてるので、そういう意味では楽なのですが、
わざわざSDKまで作ってあるのに、ユーザー側で書かないといけないものが多すぎるというか。

やっぱりZeemoteはプレゼン用のリモコンとして使うのが一番ですね!

反省

画面上のドロイド君に「宇宙キター!!!」やらせてもよかったなあ。。。

謝辞

Zeemoteを快く貸してくださった@さん、@さん、ありがとうございました!


明日の@さんと@さんの記事も楽しみですね!

*1:なお、ドロヒカリのぬいぐるみは現在もBar Androidに安置されている(はず)です。

*2:1つは旧モデルなので今回は使いませんでした