irbでやってるみたいに、インタラクティブにコードを書き換える。
Processing by Ruby #2 - Quietstar
コードはrubyとほとんど同じ。下のコードをSketchTest2.pyとか名前付けて、保存。
jythonを起動して、
>>> from SketchTest2 import *
これでjrubyのloadと同じなのかな。
>>> applet = Sketch()
で、Sketchクラスのインスタンスを作る。
>>> run(applet)
とするとアプレットが動きます。ランダムな位置に四角が描かれては消される。
jrubyでの例と同じように
applet.stop()
とかすれば止まるし、
applet.strokeWeight(5)
とかすれば線が太くなる。これは楽しい。
GUIもCUIもPhysical Computingも全部組み込みたいものだ。
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)
def draw(self):
self.background(255);
self.rect(self.random(self.width), self.random(self.height), 10, 10)
def run(applet):
frame = JFrame(title="Processing",
resizable = 0,
defaultCloseOperation=JFrame.EXIT_ON_CLOSE)
frame.contentPane.add(applet)
applet.init()
frame.pack()
frame.visible = 1
if __name__ == '__main__':
run(Sketch())
1 件のコメント:
draw()メソッド書き換えの方法がわかんない。
class書いて、例えばまた
applet = Sketch()
して
run(applet)
したら新しいウインドウが出る。
それはそれでよし。
コメントを投稿