──マウスとキーボードを超えたフィジカルコンピューティング(1)
iPhoneをリモコンにしてみる
浦野大輔(うらのだいすけ)
サイバーエージェント新規開発局所属
2009/1/9
iphoneas
- - PR -
iphoneasはiPhoneとAS3で通信するためのライブラリです。OSCemoteの各パネルから送信されるOSCメッセージに対応し、イベントドリブンにプログラミングできます。
ソースコードはFlash/ActionScript開発のためのオープンソースコミュニティ、Spark projectで公開されています。
flosc
floscは、FlashでOSCを使用するためのソケットサーバアプリケーションです。
Flash Playerは直接OSCメッセージを受信できないため、OSCメッセージをXMLソケットに変換するゲートウェイの役割をします。
flosc : Flash OpenSound Control
floscを稼働させましょう。floscでは外部からFlashに送られてくるデータ用のポート番号と、Flashから外部に送るポート番号を指定します。
前者の番号は、OSCemoteで設定したポート番号を指定しましょう。ここでは3333を指定します。
後者の番号は、iphoneasで使用するポート番号を指定します。ここでは3000を指定します。3000以外の番号を使用する場合は後のコーディングの際に使用するので覚えておきましょう。
・Windowsユーザー:
flosc_3333_3000.batを実行します。
・Macユーザー:
1.ターミナルでflosc-0.3.1フォルダに移動します。
2.ターミナルに"javaGateway 3333 3000"と入力し実行します。
動作確認
サンプルを実行してみましょう。
このサンプルでは、OSCemoteのマルチタッチ情報をFlashの出力ウィンドウに出力します。
まず、MultitouchSample.flaを開いて、パブリッシュして実行します。
Flashの出力ウィンドウに「[object IPhoneas] ::onConnect」と表示されれば、floscに接続成功です。
次にOSCemoteのMulti-Touchパネルを開いて、指をタッチして動かしてみてください。
Flashの出力ウィンドウでは以下のようなメッセージが確認できます。
これらはマルチタッチ中の各指の識別ID、x座標とy座標(0から1の値)を示しています。
onTouch: |
ソースコードの解説
このサンプルで使用しているドキュメントクラス、MultitouchSample.asについて簡単に解説します。
package |
【1】
OSCemoteを使うためのクラスiPhoneas、Multi-TouchパネルのためのクラスOSCemoteTouchEvent、マルチタッチのデータクラスTouchDataをそれぞれインポートします。
【2】
iPhoneasクラスのインスタンスを作成します。引数にホスト名と接続ポート番号が必要ですが、初期値にそれぞれlocalhostと3000が指定されています。
floscで指定した後者のポート番号で3000以外を使用している場合は、2つ目の引数に任意のポート番号を指定してあげましょう。
【3】
【2】で作成したインスタンスに、TOUCHイベントのリスナを追加します。Multi-Touchパネルのイベントが更新されるたびに、onTouchが呼び出されることになります。
【4】
floscに接続します。
【5】
イベントオブジェクトのcountプロパティでマルチタッチ中の指の数を取得します。
【6】
イベントオブジェクトのgetTouchメソッドでマルチタッチ中の指のそれぞれのタッチ情報を取得します。
【7】
タッチ情報それぞれの固有ID、x座標、y座標を出力します。
マルチタッチペイント
次のサンプルでは、前述のサンプルを拡張したお絵描きアプリを紹介します。
サンプルファイル中のMultitouchPaint.flaを開いて、パブリッシュして実行します。同じように指をタッチして動かしてみましょう。白いキャンバスに線が描かれましたか?
3/4 |
INDEX | ||
次世代のインプットを考えよう ──マウスとキーボードを超えたフィジカルコンピューティング(1) iPhoneをリモコンにしてみる |
||
Page1 フィジカルコンピューティングとは? AIR SANPOとは? AIR SANPOでやりたかったこと iPhoneでできること iPhoneとFlashの連携チュートリアル iPhoneのネットワーク設定 |
||
Page2 iPhoneのアプリケーションをインストール OSCemoteを使う サンプルファイルのダウンロード |
||
Page3 iphoneas flosc 動作確認 ソースコードの解説 マルチタッチペイント |
||
Page4 ソースコードの解説 iphoneas AS3 APIについて まとめ |
【関連記事】
iPhoneアプリ情報を集めた「ITmedia App Town」を開設しました ITmedia +D Mobile内に、iPhoneアプリの情報を集約するサイト「ITmedia App Town」を開設した。今後はiPhoneアプリの新作情報やレビュー記事などをこのページに集約していく。請うご期待。 |
App
Store登録もOK! JavaScriptで作るiPhoneアプリ これ、俺ならこう使う(5) HTML+JavaScriptでiPhoneアプリをWebアプリ的に開発しつつ、App Storeで販売できてしまう一挙両得のハイブリッド手法でCoCoTwitter作りました 「リッチクライアント
& 帳票」フォーラム 2008/11/28 |
Chumby開発者が語る誕生秘話とビジネスモデル D89クリップ(2) かわいらしいルックスとハッキングのしやすさが注目を集める「Chumby」。Chumbyの生みの親が、ガジェットに対してユーザーが受け身でいられる自由を語る |
テレビでYahoo!―デバイスが変わればUIデザインも WebとUIをつなぐトリックスター(2) 制作の要となるエンジニアとデザイナのチームワークのツボを探る連載。今回はヤフーのテレビ向けサービスのデザイン担当に話を聞いた |
Flashの基礎を無料で習得!
ActionScript入門 ActionScriptを知っていますか? Flash技術の要となる言語で無料で簡単にFlashアプリケーションを作れます。そのActionScriptについて初心者のために一から丁寧に解説していきます |
[an error occurred while processing this directive]
Smart&Social フォーラム トップページへ |
- 夏休みの自由研究にマイコンボードで「電子サイコロ」を作ったり、音楽プログラミングをしたりしてみよう (2017/7/24)
子ども向け電子工作&プログラミング用マイコンボード「chibi:bit」の基本的な使い方を紹介する企画。夏休みの自由研究に「電子サイコロ」を作ったり、音楽プログラミングをしたりしてみよう - 子ども向け電子工作&プログラミング用マイコンボード「chibi:bit」の基本的な使い方 (2017/7/20)
子ども向け電子工作&プログラミング用マイコンボード「chibi:bit」の基本的な使い方を紹介する。夏休みの子どもの自由研究などに役立てつつ、プログラミングを始めるきっかけにしてみてはいかがだろうか - 3DゲームのAIをiOSのSceneKitとGameplayKitで作る基本 (2017/7/10)
3Dゲーム用のフレームワークSceneKitを使った簡単なアプリ制作を通して、3Dゲーム用の人工知能(AI)について学ぶ - UnityアプリをWebGL、UWP、Android、iOS用としてビルドしてみた (2017/6/27)
アプリをWebで実行できるように書き出す方法やWindows上でUWP、Android、iOS用などにビルドする方法について解説する【Windows 10、Unity 5.6に対応】
|
|