Ejercicio98.py
Utilizando Pygame. Crear un juego en donde una imagen se desplace a traves de la pantalla utilizando las teclas de direccion.
Aporte de Lev Yashin
# -*- coding: utf8 -*-
# Ejercicio 98
################################################
## Enunciado
################################################
# Hacer un juego con pygame en donde mediante
# las flechas de direccion del teclado se pueda
# mover una imagen a traves de la pantalla
################################################
# Importamos los modulos necesarios
import pygame
from pygame.locals import *
from sys import exit
# Hacemos uso de la asignacion de las contantes, que son las imagenes
# Aca tenemos el fondo
imagendefondo = 'fondo.jpg'
# Y nuestra figura principal, Mr T
cara = 'mrt.png'
# Iniciamos Pygame
pygame.init()
# Iniciamos una pantalla, que no cumple con el ejercicio, pero bue
pantalla = pygame.display.set_mode((590,442),0,32)
# Le cargamos un titulo a la ventana
pygame.display.set_caption(u"Aguante Mr T")
# Cargamos el fondo
fondo = pygame.image.load(imagendefondo).convert()
# Cargamos a Mr T y le damos la trasnparencia, recordemos que
# La imagen misma tiene que tener la posibilidad de manejar trasnparencia
caripela = pygame.image.load(cara).convert_alpha()
# Aca asignamos valores previos a dos variables
x,y = 0,0
mover_y, mover_x= 0,0
# Arrancamos un bucle
while True:
# Y comenzamos a capturar los eventos
for event in pygame.event.get():
# Si el tipo de evento es precionar sobre x
if event.type == QUIT:
# imprimo un texto
print u"Me fui"
# Y finalizo el programa
exit()
# Nos fijamos si al precionar la tecla
if event.type == KEYDOWN:
# ocurren los siguientes eventos
# si tocamos p hacemos que la imagen se quede quieta
if event.key == K_p:
mover_x,mover_y=0,0
# si tocamos flecha izquierda se mueve en esa direccion
if event.key == K_LEFT:
mover_x=-1
# Lo mismo para la derecha y las demas direcciones
elif event.key == K_RIGHT:
mover_x=+1
# Arriba
elif event.key == K_UP:
mover_y=-1
# Abajo
elif event.key == K_DOWN:
mover_y=+1
# y los siguientes eventos son para cuando soltamos la tecla
elif event.type == KEYUP:
if event.key == K_LEFT:
mover_x=0
elif event.key == K_RIGHT:
mover_x=0
elif event.key == K_UP:
mover_y=0
elif event.key == K_DOWN:
mover_y=0
# Si el evento es tocar una tecla
x+=mover_x
y+=mover_y
# Aca manejamos el repintado del fondo
pantalla.blit(fondo,(0,0))
# Y de MrT
pantalla.blit(caripela,(x,y))
# Por ultimo pedimos que actualice la vista contantemente
pygame.display.update()
Deja un comentario