Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    # 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()