class PhysicsWorld(object): def __init__(self): self.space = None def init(self): init_pymunk() self.space = Space() self.space.gravity = (0, -0.002) self.space.resize_static_hash() self.space.resize_active_hash() def add(self, item, position, static): item.body.position = position if static: self.space.add_static(item.shape) else: self.space.add(item.body) self.space.add(item.shape) if item.rest_angle_spring: self.space.add(item.rest_angle_spring) def update(self, items): for item in items.itervalues(): item.physics.update() self.space.step(1)
class World(object): def __init__(self): self.items = [] self.words = [] self.springs = [] init_pymunk() self.space = Space() self.space.resize_static_hash() self.space.resize_active_hash() def add_item(self, item): ## self.items.append(item) self.space.add(item.shape) self.space.add(item.body) def add_spring(self, spring): self.springs.append(spring) self.space.add(spring) def add_word(self, word): self.words.append(word) def update(self): self.space.step(1.0)
class World(object): def __init__(self): self.items = [] init_pymunk() self.space = Space() self.space.gravity = (0, -0.5) self.space.resize_static_hash() self.space.resize_active_hash() self.leaves = [] self.end_game = False def add_item(self, item): if isinstance(item, Bough): self.leaves.append(item) self.items.append(item) item.create_body() item.add_to_space(self.space) def remove_item(self, item): self.items.remove(item) item.remove_from_space(self.space) def update(self): self.space.step(0.5) for item in self.items: item.update() def remove_collided(self): for item in self.items: if item.status == "Collided": self.remove_item(item) def tick(self): max_limit = len(self.leaves) - 1 if len(self.leaves) == 0: max_limit = 0 ## print "End Level" self.end_game = True else: ## print max_limit randno = random.randint(0, max_limit) ## print randno leaf = self.leaves.pop(randno) ## print leaf leaf.remove_from_tree(self.space) def add_cherry(self, x, y): cherry = Cherry(x, y) self.add_item(cherry) def add_owange(self, x, y): owange = Owange(x, y) self.add_item(owange) def add_collision_handler( self, col_typ1, col_typ2, begin=None, pre_solve=None, post_solve=None, separate=None, **kwargs ): self.space.add_collision_handler( col_typ1, col_typ2, begin, pre_solve, post_solve, separate, **kwargs)
class World(object): def __init__(self): self.items = [] init_pymunk() self.space = Space() self.space.gravity = (0, -0.5) self.space.resize_static_hash() self.space.resize_active_hash() self.leaves = [] self.end_game = False def add_item(self, item): if isinstance(item, Bough): self.leaves.append(item) self.items.append(item) item.create_body() item.add_to_space(self.space) def remove_item(self, item): self.items.remove(item) item.remove_from_space(self.space) def update(self): self.space.step(0.5) for item in self.items: item.update() def remove_collided(self): for item in self.items: if item.status == "Collided": self.remove_item(item) def tick(self): max_limit = len(self.leaves) - 1 if len(self.leaves) == 0: max_limit = 0 ## print "End Level" self.end_game = True else: ## print max_limit randno = random.randint(0, max_limit) ## print randno leaf = self.leaves.pop(randno) ## print leaf leaf.remove_from_tree(self.space) def add_cherry(self, x, y): cherry = Cherry(x, y) self.add_item(cherry) def add_owange(self, x, y): owange = Owange(x, y) self.add_item(owange) def add_collision_handler(self, col_typ1, col_typ2, begin=None, pre_solve=None, post_solve=None, separate=None, **kwargs): self.space.add_collision_handler(col_typ1, col_typ2, begin, pre_solve, post_solve, separate, **kwargs)