Scratch (1.4)では外部センサーを使うことが出来ます。これは、iPhoneをセンサー代わりにするデモです。
すでに2年前Scratch Touchを開発していますが、気付いたらexpressとsocket.ioが劇的な仕様変更をしていて変更するのが面倒になったので一から書きました。
- iPhone (iPod touch)
- Node
- npm
- Scratch (1.4)
iPhoneをLAN経由でPCにつなぎ、NodeがScratchとiPhoneの間を仲介します。 Nodeとnpmを前もってインストールしてください。 (MacでNodeを扱うならHomebrewがオススメです。)
- Nodeとnpmをインストールしましょう
- ターミナル(端末・コマンドプロンプト)から以下のコマンドを入力します
git clone https://github.com/masawada/New-Scratch-Touch.git scratch-touch
cd scratch-touch
npm install express jade socket.io
node app.js
- Scratchを起動します
- 遠隔センサー接続をオンにします
- iPhoneのSafariから"http://PCの(LAN)IPアドレス:3000/"にアクセスしてください
- この画面を「ホーム画面に追加」して再度起動するとフルスクリーンモードで遊べます
- Scratchを起動します
- "調べる"ボタンをクリックします
- "スライダーセンサーの値"を右クリックします
- "遠隔センサー接続を有効にする"をクリックします
iPhoneから受け取った値を文字列にしてUDPでローカルの42001番ポートに投げつけています。sensor-update "ax" 0 "ay" 0 "rx" 0 "ry" 0
のような感じです。また、タッチイベントを検出した場合はbroadcast "message"
のようにメッセージを送信するように実装しています。
MIT License