Classiclll's Blog

an old boy

Wrj4P5 alpha-010 リリース、(Wiiドラム対応・・・のはず)

イメージ 1

Wrj4P5 alpha-010 リリース(WiiremoteJ ver.1.6 対応)


テスト無し(持っていないのでテストは無理)でDrum対応機能を追加
(私の環境=PPC-Leopardでいろんなトラブル:別記事:があって、その他、いろいろ対応版でもある)

三軸加速度センサーは無いけど、

1. BLUE, GREEN, ORANGE, RED, YELLOW, MINUS, PLUS, PEDALの各ボタン/パッド
2. Pad/PEDALへの打撃の強さを測るセンサー(直近の打撃の強さだけ)
3. アナログスティック
がついている。

スケッチで使用可能なドラム用イベント関数
  void drumPressed(DrumEvent ev, int rid)
           ドラムのボタンやペダルが押されたときに呼ばれる。
  void drumReleased(DrumEvent ev, int rid)
           ドラムのボタンやペダルが放されたときに呼ばれる。
で、ドラム本体
class WiiDrum
【propaties】
  Loc stick	// latest sensed 2D(Loc) location(%) of the stick.
さらに加えて
ドラムの状態を表すクラス
class DrumEvent
【Constants】
   final static int BLUE
  final static int GREEN
  final static int ORANGE
  final static int RED
  final static int PEDAL
  final static int YELLOW
  final static int MINUS
  final static int PLUS
【Constructor】
 DrumEvent()
【Method】
 boolean isPressed(int btnMask) 指定された(複数の)ボタンが全て押されているか?
 boolean isOnlyPressed(int btnMask) 指定された(複数の)ボタン【だけ】が・・・?
 boolean isAnyPressed(int btnMask) 指定された(複数の)ボタンの【いずれか】が・・・?
 boolean wasPressed(int btnMask) 指定された(複数の)ボタンが全て【今】・・・?
 boolean wasOnlyPressed(int btnMask) 指定された(複数の)ボタン【だけ】が全て【今】・?
 boolean wasReleased(int btnMask) 指定された(複数の)ボタンのいずれかが【今】放されたか?
 Loc getStick() 		// get the current stick 2D(Loc) position. (-1 to 1)
 float getSoftness() 	// no hit (0.0) to the hardest hit(1.0),  (0 to 1)
 int getSoftnessPad() 	// pad id, the softness was sensed. (symbal/bass)



Processing については、
日本語サポートサイトからたどれるP5インフォメーション→言語が参考になる。
(解説してあるのは一昔前の版だから注意が必要だけど、loop()→draw()の読み替えだけで大抵OK)
・山本徹(thoru)さんがFunProce55ingで解説してくれている。(【簡潔】で【わかり易く】、【楽しい】解説)
例題集は習作集と区別するためにこちらに置いている。
・P5のスケッチからアプレットを作り、【ジオシティーズ】にアップする手順をまとめたので、参考に。
WiiRemoteアクセスライブラリWrj4P5はここ