processing の color 型

09.03.16 Mon 18:08
Category: processing

processing の color 型は、コンパイル時に int 型に変換されてるようです。
なので processing で

color c = #000000;

と書いていたものを Eclipse(Java)で書く場合は

int c = 0xff000000;

になります。32ビットカラーなのも注意。

processing の IDE が pde ファイルを Java に変換するのは、PdePreprocessor.java というクラスでおこなっているようです。color に関してコメントも書かれていました。

color c = #cc0080; should unpack to 0xffcc0080
(the ff at the top is so that the color is opaque),
which is just an int.

ちなみに PApplet クラスのソースコードは PApplet.java のようです。actionscript で使いたいときには、これを元に移植すればいいですね。

Eclipse で Processing

09.03.12 Thu 01:45
Category: processing

Processing 標準の IDE が、コードの補完をしてくれなくて使い辛いので、普段 mac では TextMate を使っていたんだけど、windows でも何かエディターがあれば便利だよなあと思い探してみました。

ざっと調べてみた結果、標準以外で開発する場合は下記の手段がある(まだあるかもしれない)。

mac
Xcode
TextMate
Eclipse

win
jEdit
Eclipse

このうち共通するのは Eclipse のみ!ということで、WindowsでのProcessing用エディタ1Eclipse編を参考に思い切って導入してみた。

やってみたら意外と簡単で、Eclipse インストールして、新規で java のプロジェクト作って、ライブラリで processing の lib フォルダに入ってる core.jar を追加するだけのことだった。

ただ、標準と書き方が若干違っていて、

import processing.core.*;

public class HelloP5 extends PApplet
{
	public void setup()
	{
	}

	public void draw()
	{
	}
}

みたいに書くことになる。標準の書き方よりは長くなってしまうけど、個人的には逆にこっちのほうが as3 っぽいのでイイかもしれない。

今まで processing やってきたことは PApplet を拡張した java だったんか!ってのを、実際やってみて改めて気付きました。

あと調べててわかったのは、標準の IDE で複数のタブを使ってクラス書いてたのは、実は一つに結合されていたってこと。

[Processing][仕様].pdeはインナークラス、.javaは別クラス

複数のタブを開いて別のクラスを作っても、そのクラスはスケッチ本体クラスのインナークラスとして結合されるのです。別の言い方をすると、スケッチのディレクトリ直下にある「*.pde」ファイルは、全部結合された後、コンパイルされるということです。

なので、Eclipse で複数クラス作るときは、メインの PApplet を拡張したクラスのインスタンスを渡すか、参照用の静的クラスかシングルトンを作った方がいいかも。

Eclipse 自体は、普段 actionscript で flexbuilder を使っていたので、違和感なく使えそう。
しばらく使ってみて調子良さそうだったら subversion なんかも入れてみます。

©2010 l00oo.oo00l blog | powered by WordPress with Barecity