def add(self, name, position, layer=None): ''' Adds a new entitie to one of the drawable layers. ''' if name in self.entities: entity = self.entities[name] model = entity['model'] if layer=="ground": self.colGrid(model, position) obj = {'name' : name, 'level' : entity['level'], 'model' : model, 'pos' : position, 'bbox' : collision.calcBound(model, position,self.size)} if not layer: self.entityDict[entity['level']].append(obj) else: self.entityDict[layer].append(obj)
# Handle input if keystate.state('LEFT'): movex += -2.0 elif keystate.state('RIGHT'): movex += 2.0 if keystate.state('DOWN'): ''' nothing currently ''' #movey += 2.0 if keystate.state('UP'): if player.onGround: movey += -5.5 movey -= physics.gravity(player.y, player.dy, delta) bound = collision.calcBound(player.nextModel(movex,movey), (player.x+movex, player.y+movey), player.size) static = collision.calcBound(*som.getStaticGrid((player.x, player.y), 4, 4)) cols = collision.collision(bound, static) collision.moveable(player, cols, movex, movey, delta) # Draw stuff screen.fill((0,0,0)) som.blitBackground() som.blitGround() player.draw(screen) som.blitForeground() fpsClock.tick(60) pygame.display.flip()