2011年08月09日

Netbeans でProcessing開発

IDE環境いいね.netbeans便利.
メソッドに,// 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);



posted by maplewine at 20:00| Comment(0) | TrackBack(0) | Computer | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック