木曜日, 2月 15, 2007

isFirstBang

processingでguiを扱うのにcontrolP5ライブラリを使ってるんだけど、addBang()メソッドでbangを組み込んだら、最初に実行されるsetup()メソッドの中で呼ばれてしまう。と、bangでファイルを読み込んだりしたい時に嬉しくない。のでboolean型の変数isFirstBangを作って最初のbangを回避。このcontrolP5ライブラリ、altキー押しながらドラッグすると動かせたりしてすげー。

ちなみにbangの使い方はcontrolP5型のオブジェクトに対して

.addBang("名前", x, y, width, height);

として同じ名前のメソッド

void 名前 {
...bangが押されて実行するプログラム...
}

で使えるようになる。以下、サンプル。

import controlP5.*;

ControlP5 controlP5;
boolean isFirstBang = true;

void setup() {
controlP5 = new ControlP5(this);
controlP5.addBang("openfile", 30, 30, 40, 20);
}

void openfile() {
if(isFirstBang){
println("first bang");
isFirstBang = false;
} else {
println("i want to open a file. but nothing happens now.");
}
}

void draw() {
}

1 件のコメント:

yosuke hayashi さんのコメント...

最新版(controlP5_0.2.7)ではaddBangで実行されるってのはなくなっているみたいです。よかった。