<-- Back to list of examples

move_sprite_keyboard_jump.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
"""
Sample Python/Pygame Programs
Simpson College 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()