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

0 件のコメント:

コメントを投稿

About

参加ユーザー

連絡フォーム

名前

メール *

メッセージ *

ページ

Featured Posts