Posts Tagged: eclipse

後・EclipseでProcessingを使ったプログラムを書く

アプレットの出力、したい…

作品を公開するにはアプレットにしてブラウザで表示させたりするけど、Eclipseで書いた場合はどうやるんだろうか。
ためしに、File>Export>Java>JAR file
とかやってみたけど上手く行かなかった。

EclipseのProcessingプラグインを入れてみる

そこで方法を調べていて知ったんだけど、
Processingのプラグインがあるらしい↓
Eclipse Plug In
インストール方法はこのページに書いてある通り。
インストールしてEclipseの再起動が終わると、
File>Export>Processingが追加されているじゃありませんか。
でもここでExport出来るのはこのプラグインを使って、Processingのスケッチとして作成したプロジェクトじゃないと駄目みたい。
なのでプラグインを使って新しくプロジェクトを作成し、今まで書いていたプログラムを移植。

ちなみにこのプラグインを使うと、スケルトンコードや必要なディレクトリが自動で作成されて少し便利。
前のエントリで書いたdataディレクトリも作成されてる。
ただ、dataディレクトリの場所がsrc直下では無くなっている。注意が必要かも。

ちなみにちなみにこのプラグインはWindow>Open Perspective>Other>ProcessingでProcessing用のワークスペースを表示させて使うらしい。
(Javaワークスペースとちがってパッケージ管理とか出来なさそうだけどクラスが増えると不便ではないのだろうか。。。というぱっと見の感想…)

プログラムを移植していよいよExportを試す。
Exportされたファイルはappletディレクトリに作成されているようだが、
Processing IDEの様にindex.htmlは作成されなかった。

仕方ないので、同じくappletディレクトリに入っている.pdeファイルをProcessing IDEで起動して、アプレットとしてエクスポートしてみた。index.htmlも作成されたけど、ブラウザで観てもアプレットは上手く動かなかった。(真っ白い枠が表示されただけだった。)
ためしに2D(size(200,200,P3D);とか書いてないプログラム)をエクスポートしてみた。
これはちゃんと動いた…。
でも、アプリケーションとしてエクスポートしたものは2Dも3Dも上手く動作した。
よくわからない…(´Д` )
アプレットでエクスポートできないと気軽に作品を公開する事ができないのでProcessingの面白みがちょっと減少してしまう…。

さらに調べていると、エクスポート用のEclipseプラグインなるものがあるらしい。
Proclipsing
早速試す。
このプラグインを使用してエクスポートするとindex.htmlも生成してくれる。
2Dはちゃんと動いた。…が、やはり3Dは真っ白い枠が表示されただけだった。

ここまでの作業はMacで行っていたのだが、試しにWindows7環境でも試してみたところ、
…おぉ、どちらもちゃんと動く。
Windows環境でエクスポートしたアプレットはMacでもちゃんと動いた。
ということは、このMacの開発環境がなにかしら変なのか。。。

もっと原因探っても良いけど、よく考えたらアプレットはスマホとかで観られないし、
だったら動画にしてYoutubeにアップする方がたくさんの人に観てもらえるよなぁ…、
とか思い始めたので、この辺で諦めようかな…笑

あとがき

プラグインで作ったプロジェクトは特にopengl系のjarをビルドパスに入れなくても3Dを扱えた。

…けど、size(300, 300, OPENGL)としてOPENGLのエンジンを使おうとすると、やっぱり

You need to use “Import Library” to add processing.opengl.PGraphicsOpenGL to your sketch.

と出てしまった。

…これもまた前と同じように設定すれば動くだろうか。。。
これもめんどくさいので後回し笑

続・EclipseでProcessingを使ったプログラムを書く

環境構築OKと思ったら…

先日EclipseでProcessing開発をする為の環境を整えたと思ったら、
まだハマりどころがありました。

それはプログラムで読み込む画像や、テキストファイルの置き場所。
Processing標準IDEではdataディレクトリにそれらのファイルを保管します。
Eclipseでは何処に置けば良いのか。。。

Processing with Eclipseでのdataディレクトリの場所

いろいろ試した結果、
srcの直下にdataというディレクトリを作成しその中に読み込む画像やテキストファイルを保存しなければならないようです。
呼び出しは、画像の場合、
loadImage(“hoge.jpeg”)
で呼び出せます。

EclipseでProcessingを使ったプログラムを書く

もう標準エディタでは…

ソースコードが長くなったり、いくつもクラスを作成したりすると、
Processing標準のエディタではちょっと厳しいなと感じたのでIDEの助けを借りたくなった。

EclipseでProcessingを使えるようにする

EclipseでProcessingを使うための方法はこの本にも書いていたし、
色んなサイトで説明されている。
http://processing.org/learning/eclipse/
これらを参考にEclipseでProcessingを使えるようにしてみた。
うん、ちゃんと動作した。
これで環境整ったし、あとは頭の中にイメージしたものを引っ張り出すことに専念できるぞ。

…と、3D表現のサンプルコードを実行してみたところ、

You need to use “Import Library” to add processing.opengl.PGraphicsOpenGL to your sketch …

言われてることはわかるけど、これはどこから持ってくればいいのか…(~_~;)

OpenGLのライブラリを設定し3D表現にも対応する

ググってしらべた所、こちらの方のブログを発見!
この通りにやったら出来ました!
ありがとうございますm(_ _)m

ちなみに、*.jnilibを正しく設定しないと、

java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path…

とか言われて、ここでもしばらくハマった。

複数クラスを使用したプログラムを書く

さて、無事ライブラリをプロジェクトに設定できて、やっと書き始められる!
と思いサンプルプログラム(2つのクラスからなる)を実行した所、

Exception in thread “Animation Thread” java.lang.NullPointerException processing…

うーんなんだこれは。
ネット上にあるソースの書き方を参考にさせて頂きましてー…。
どうやらメインの処理で使用されるクラスではPAppletを継承してはいけないみたい。
正しくはこちらのようにインスタンスの生成でthisを渡す。
なんだかAndroidのContextみたいだ。

ちなみにサンプルプログラムはこちら↓の書籍から拝借。
標準のProcessing用のプログラムをEclipseで動作するように少し修正しています。

さて、いろいろ躓いたけどこれでやっとプログラミングに専念できる。はず。