<-- Back to list of examples

"""
Sample Python/Pygame Programs
Simpson College Computer Science
http://programarcadegames.com/
http://simpson.edu/computer-science/
"""

import pygame

NEGRO = (0, 0, 0)
BLANCO = (255, 255, 255)
       
class Protagonista(pygame.sprite.Sprite):
    """ Esta clase representa al sprite controlado por el jugador"""
    
    def __init__(self,x,y):
        """Función Constructor"""
        # Llama al constructor padre
        super().__init__()
 
        # Establecemos el largo y alto
        self.image = pygame.Surface([15, 15])
        self.image.fill(NEGRO)

        # Establecemos como inicio la esquina superior izquierda
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y
    
    
# Llamamos a esta función para que la biblioteca Pygame se pueda autoiniciar.
pygame.init()

# Creamos una pantalla de 800x600
pantalla = pygame.display.set_mode([800, 600])

# Ponemos un título a la ventana
pygame.display.set_caption('Mover el sprite con el teclado')

# Creamos el objeto pala protagonista
protagonista = Protagonista(50, 50)
listade_todoslos_sprites = pygame.sprite.Group()
listade_todoslos_sprites.add(protagonista)

reloj = pygame.time.Clock()
hecho = False

while not hecho:
    
    for evento in pygame.event.get():
        if evento.type == pygame.QUIT:
            hecho=True
        elif evento.type == pygame.KEYDOWN:
            if evento.key == pygame.K_LEFT:
                protagonista.rect.x -= protagonista.rect.width
            elif evento.key == pygame.K_RIGHT:
                protagonista.rect.x += protagonista.rect.width
            elif evento.key == pygame.K_UP:
                protagonista.rect.y -= protagonista.rect.height
            elif evento.key == pygame.K_DOWN:
                protagonista.rect.y += protagonista.rect.height
                
    # -- Dibujamos todo
    # Limpiamos pantalla
    pantalla.fill(BLANCO)
    
    # Dibujamos los sprites  
    listade_todoslos_sprites.draw(pantalla)
    
    # Actualizamos la pantalla   
    pygame.display.flip()
    
    # Pausa
    reloj.tick(40)  
                
pygame.quit()