2017年10月2日月曜日
pyodeの基本コードの骨組み クラス変数 リスト グローバル変数
pyodeの基本コードの骨組み
import ode
from visual import *
class Field:
world=ode.World()
world.setGravity((0, -9.81, 0))
..........................
..........................
def __init__(self):
self.objects = []
..........................
..........................
def near_callback(self,args,geom1,geom2):
for c in ode.collide(geom1,geom2):
..........................
..........................
def tick(self):
#ball クラスオブジェクトはグローバル変数のように扱える
#globl を宣言しなくていい
ball.update()
time.sleep(0.03)
self.space.collide((),self.near_callback)
#self.dtの間隔で世界を動かしていく
#クラス変数のworldしかないがインスタンス変数のworldがないので
#クラス変数を参照している
#クラス変数の挙動
#http://hannsihannsyou.blogspot.jp/2017/10/blog-post_2.html
self.world.step(self.dt)
self.jointgroup.empty()
return True
..........................
..........................
..........................
class Ball:
def __init__(self,field):
self.body=ode.Body(field.world)
M=ode.Mass()
............................
.........................
#リストをグローバル変数のように扱える
field.objects.append(self)
..........................
..........................
field = Field()
ball = Ball
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿