メソッドに,// TODO: とかいておくと,タスクウィンドウの説明欄に表示される.やりたいことメモしておける.
もう,こういうことも知らないレベルなのです.はい.
参考サイト:
Processing を NetBeans 上でコンパイル、実行する。
http://d.hatena.ne.jp/MineAP/20080225/1203933323
emacs 上でもある程度(というかかなり良い)補間が出来たりするのですが,そのクラスが持っているメソッド名などまでは出してくれません.
また,テスト環境をつくるとなると,Processingに関しては面倒な気がします.Ruby だと,テストコードを作るのも簡単そうなんですが.
で,勉強のためにも使ったことの殆ど無いEclipseでも使うか!とProcessingのテストソースコードが実行できるところまで確認しましたが,Netbeansってのがこれからはいいんじゃない?とも思い,そちらでも環境構築.
上記の参考サイトが参考になりました.というか,すんなりいきました.
補間いいね,たのしいね.
で,実際,本格的に書いていくと,Processingのライブラリが見えないのかいくつかエラーが出てきました.
例えば,
PFont hoge;
と書くと,PFont って型ってなによ?と怒られます.
なので,ソースコードの頭に,
import processing.core.PFont;
と書きます.
これで解決.
そのうち,
import processing.core.*;
でいいじゃんと気づき,これに訂正.
その後,
color background;
というような変数をつくろうとすると,color ってタイプがわからんと怒られます...調べていくうちに,ここが参考になりました.
http://processing.org/learning/eclipse/
Eclipse上でProcessingを使用する方法が書いてあるのですが,ざっとかくと,複数のクラスを定義するときには,PAppletの拡張として,使用する主クラスとその他のクラスと分けられます.
その他のクラスを実装する場合,そのままだと,random(), fill(), rect() などのProcessingの持つ関数や,width, heightのような変数である場合,そんなの知らないというエラーが発生します.
■ Processingが持つ関数について
その対処法は,例えば,Stripeクラスを作成する場合,
public class Stripe {
PApplet parent; // The parent PApplet that we will render ourselves onto
.....
}
というように,PAppletのメンバ(フィールド)を用意し,コンストラクタで,以下のような処理を追加します.
Stripe(PApplet p) {
parent = p;
}
あとは,使用する箇所でparent.fill(), parent.random() などように,メソッドを呼び出すだけです.
主クラスでは,クラスを生成するときに
stripes[i] = new Stripe(this);
のようにします.
■ color の型について
Processing におけるcolro 型は,java には存在しません.color 型は実際は int 型(32bit, 赤,緑,青の三原色と透過値)なのでcolor をint と読み替えて実装します.
例)
color pink = color(255, 200, 200);
は以下のように書き換えます.
- 主クラス
int pink = color(255, 200, 200);
- 主クラス以外
int pink = parent.color(255, 200, 200);