Gainer向けProcessingコードをNetBeansでコンパイル、実行する。
さて、本日はNetBeans上でGainer向けプログラムをコンパイル、実行していきます。
今回の動作の様子です。
さて、それではやっていきましょう。なお、今回はNetBeans 6.1 Betaの試用もかねているため、NetBeans が英語になっています。それほど差はないと思われますが環境に合わせてご覧ください。*1
まず始めに、ライブラリを追加します。
プロジェクトの"ライブラリ"を右クリックしてJARライブラリを追加します。
追加するのは、
アプリケーション/Processing 0135/libraries/gainer/library/gainer.jar アプリケーション/Processing 0135/libraries/serial/library/RXTXcomm.jar
です。
追加すると、プロジェクトのライブラリの一覧が以下のようになります。
また、実行に必要なJNIライブラリも追加します。
これは、JavaのPathを通すだけでもよいのですが、今回はNetBeansのプロジェクトフォルダ内にコピーします。
アプリケーション/Processing 0135/libraries/serial/library/librxtxSerial.jnilib
このJNIライブラリを、プロジェクトフォルダの直下にコピーします。(このjniライブラリは、実行環境によって必要なライブラリが異なります。注意してください。 *2 )
今作成しているプロジェクトが"ProcessingSketch"という名前だとすると、コピー後、以下の写真のようなファイル構成になります。
また、ビルド後も単独で動作可能にするために、プロジェクト内のdistフォルダにも同じライブラリをコピーしておきましょう。
さて、次はコードです。
package netbeans_processing_template; import processing.core.PApplet; import processing.core.PFont; import processing.gainer.Gainer; import processing.video.Capture; /** * PAppletを継承した独自クラス。 */ public class Main extends PApplet { //キャプチャ。今回は使わない。 Capture camera; //Gainer。今回のメインはこれ。 Gainer gainer; //Gainerに出力する数字。 int value = 0; //それぞれ、0~9を意味する2進表現を10進に直したもの。 int ledArray[] = {63, 12, 91, 94, 108, 118, 119, 28, 127, 124}; /** * エントリポイント * @param args the command line arguments */ public static void main(String[] args) { PApplet.main(new String[]{"netbeans_processing_template.Main"}); } /** * PAppletの初期化の為に最初に呼ばれる。 */ @Override public void setup() { size(100, 100); textFont(new PFont()); //Gainerの初期化。モード6で起動。 this.gainer = new Gainer(this ,Gainer.MODE6); //フレームレートの設定。毎秒1回draw()が呼ばれる。 frameRate((float) 1.0); } /** * 描画を行うメソッド。 */ @Override public void draw() { background(120); //文字出力は未着手。 //text(value, 15, 60); System.out.println("value:" + value); //Gainerに信号を出力 gainer.digitalOutput(ledArray[value]); if (value < 9) { value++; } else { value = 0; } } }
アプレットへの文字描画までは今回手が回っていません。ですので、Gainer への出力信号が何になっているかはSystem.out.println()を利用して標準出力へ出力するようにしてます。
なので、JARファイルをダブルクリックして起動する方法ではGainerの出力とプログラム内の値が同期しているかどうかの確認がとれませんのでご注意ください。
さて、実行するときの注意があります。
私はいつも、実行に「"現在開いてるファイルの属するプロジェクト名"を実行」(下の写真の真ん中のボタン)を押して実行するのですが、これを押すと実行できませんでした。(RXTXcomm関係のライブラリが見つからない例外が発生する。)
ですので、実行するときは「メインプロジェクトを実行」か、「"ファイル名"を実行」をえらぶようにしましょう。
実行中の写真は一番上にあるので省略。
ビルドして、jarファイルにして実行するときは、ディレクトリの構成を以下のようにします。
この状態で、
$ java -jar netbeans_processing_template.jar
とすることで実行することが出来ます。
+GAINER―PHYSICAL COMPUTING WITH GAINER
- 作者: GainerBook Labo,くるくる研究室
- 出版社/メーカー: 九天社
- 発売日: 2007/10
- メディア: 単行本
- 購入: 3人 クリック: 68回
- この商品を含むブログ (33件) を見る