ira-ira-bar sample sketch #4 for Wrj4P5 for Proce55ing (final )
ira-ira-bar (in progress) WRJ4P5(WiiRemoteJ For Proce55ing)
前記事の残骸が、(wrj4P5の不安定さを除いて)ちゃんとなったので、再掲。
ライブラリWrj4P5がだいぶ安定したので、アルファ版ながらsourceforgeで公開開始。
(ここ二週間、sourceforgeの使い方を理解するのに使ったも同然。でも、まだ、わかっていない)
(アルファ版公開のアナウンスは、ここと、本家Discourceへの予定)
(ここ二週間、sourceforgeの使い方を理解するのに使ったも同然。でも、まだ、わかっていない)
(アルファ版公開のアナウンスは、ここと、本家Discourceへの予定)
*ビデオの最後あたりはPPC Macだけの不具合のため、BlueToothユーティリティからリモコンのエントリーを削除しているところ。これをやらないと次の接続が認識されない。・・・なんでPPC Macだけ??
下記は、現時点のスクリプト。(ガラクタ置き場のアプレットのsourceリンクの先も同じ)
import lll.wrj4P5.*; import lll.Loc.*; Wrj4P5 wii;float pos=1;int lastFr=0; boolean[] led = new boolean[4]; void setup() { size(300,300); wii=new Wrj4P5(this).connect(); } void draw() { if (wii.isConnecting()) return; background(0); stroke(color(128,128,255)); translate(300/2,300/2); Loc v = wii.rimokon.senced; float vel=1.5*v.dot(new Loc(-1,0,0)); pos=constrain(pos+vel,-1,4); int now = int(constrain(pos,0,3)); if (0<now && now<3) lastFr=frameCount; for(int i=0;i<4;i++) { if (i==now) { fill((frameCount-lastFr>20?color(255,128,128):color(128,128,255)));led[3-i]=true; }else if (abs(pos-i)<0.5) { fill(color(64,64,198));led[3-i]=true; }else{ noFill();led[3-i]=false; } ellipse(50*(i-1.5),0,20,20); } // if (frameCount-lastFr>20) wii.rimokon.vibrateFor(100); wii.rimokon.setLEDs(led); }
Processing については、
・日本語サポートサイトからたどれるP5インフォメーション→言語が参考になる。
(解説してあるのは一昔前の版だから注意が必要だけど、loop()→draw()の読み替えだけで大抵OK)
・山本徹(thoru)さんがFunProce55ingで解説してくれている。(【簡潔】で【わかり易く】、【楽しい】解説)
例題集は習作集と区別するためにこちらに置いている。
・P5のスケッチからアプレットを作り、【ジオシティーズ】にアップする手順をまとめたので、参考に。