iCade 8-bittyとHTML5で作るゲームの話
iCade 8-Bitty買いました
iPhone,iPad,AndroidにBluetoothでつながるレトロなコントローラーです。 大量に買ってますが大量な事と今回の記事の関係はありません。
こちらから購入出来ます。
- 仕様(PDF注意) http://www.thinkgeek.com/files/iCADE/iCade_Dev_Resource_v1_3.pdf
- iOS SDK https://github.com/scarnie/iCade-iOS
さて、このiCadeですがBluetoothのキーボードとして接続され、キーコードが送られてきます。 UP,DOWNでそれぞれ別のキーコードが来ます。
- 上押す w 離す e
- 左押す a 離す q
- 下押す x 離す z
- 右押す d 離す c
- みたいな感じです
ネイティブアプリで使えるのは当然ですがブラウザ上で動くアプリの場合は使えるか検証してみました いつものここで対応と確認済みです。
PC
Chrome,Firefoxでは普通に使えます。 windowにkeydownイベントをlistenする事で問題なく使えます。
iOS
windowにはkeydownイベントは送られてきません。 < input type="text" >で作成したテキストフィールドにフォーカスがあればkeydownは来ますのでそこをlistenしましょう。 一応これで使えるのですが、テキストフィールドが表示されてしまっているのと、前後のテキストフィールド移動のバーが表示されるのが不格好。消し方知っている方いたら教えてください。
Android
ChromeでPCと同じように動いたけどそもそも動作が遅すぎるので検証は後回しで。。
まとめ
PCでは全く問題なく使える。iOSでは若干の不格好さがある。WebViewを内蔵したネイティブアプリ化なども考えた方がいいかもしれない。