土曜日, 11月 17, 2007

jython + p5#1

jrbでprocessingっていうこの記事読んで同じことがjythonでもできないかと思った。
Processing by Ruby - Quietstar

jythonのインストール
Installation

ここからリンク先をクリックしてjarファイルをダウンロード
Downloads

jarファイルをダブルクリックするか、terminalで

java -jar jython_installer-2.2.1.jar

と打ち込む。
GUIが出てきて色々聞いてくるので、色々答える。Installation typeはStanderdにした。
あとはひたすら光ってるとこをクリックしてくと、jython2.2.1というフォルダが作られる。

PATHを通す(コマンドサーチパスに加える、というのか)。terminalで

open .bash_profile

して、bash profileを開く。jython2.2.1フォルダ内にjython実行ファイルがあって、ホーム(hysysk)のすぐ下に置いたので、

export PATH="/Users/hysysk/jython2.2.1:${PATH}"

とすればよい。他に色々ある場合は:でつないでいく。${PATH}は忘れずに。
これでterminalから

jython

と打ち込むだけで起動するようになる。

Processingの方。
.bash_profileにprocessingのCLASSPATHを書いておくと実行する時に楽。
ここを参考に。
JRuby上のirbでインタラクティブにProce55ingを動かす:TKMR.blog.show

export P5_HOME=/Applications/Processing¥ 0133
export CLASSPATH=$CLASSPATH:$P5_HOME/lib/core.jar

こんな感じで。exportってのは変数の宣言みたいなものか。
Processing 0133じゃなくてProcessing¥ 0133。\か¥を入れる。フォルダ名変えればいいのか?試さない。

jythonでの書き方はここを参考に(via koyachiさん。いつもありがとうございます!)。
Backspaces: Processing: .. with Jython

ただ四角を描くだけのコード。SketchTest.pyとか名前付けて保存して、

jyhton SketchTest.py

で実行される、はず。上のサイトの人もあんましいいコードじゃないけどとりあえず動くからいいよね的なこと言ってるけど、僕もそんな感じです(僕の場合、どこがどう悪いかもわからない)。ご了承下さい。後半へ続く

from javax.swing import JFrame
from processing.core import PApplet

class Sketch(PApplet):
def __init__(self):
pass
def setup(self):
self.size(200, 200)
self.rect(0, 0, 100, 100)
def getField(self, name):
return self.class.superclass.getDeclaredField(name).get(self)

if __name__ == '__main__':
frame = JFrame(title="Processing",
resizable = 0,
defaultCloseOperation=JFrame.EXIT_ON_CLOSE)
panel = Sketch()
frame.add(panel)
panel.init()
while panel.defaultSize and not panel.finished:
pass
frame.pack()
frame.visible = 1

0 件のコメント: