domingo, 25 de septiembre de 2011

Empezando videojuego (Parte 4)

Ahora veremos cómo mover objetos con el teclado.


 #!/usr/bin/python
import pygame


def main():
    pygame.init()
    pantalla=pygame.display.set_mode([600,400])
    pygame.display.set_caption("Juego Medieval")
    salir=False

    reloj1=pygame.time.Clock()
    verde=(0,100,0)
    rojizo=(200,20,50)
    azulado=(70,70,190)
    r1=pygame.Rect(50,50,45,45)
    r2=pygame.Rect(200,200,100,50)
    

    while salir!=True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                salir=True
            if event.type == pygame.KEYDOWN: #Nuevo
                if event.key == pygame.K_LEFT:    #Nuevo
                    r1.move_ip(-10,0)                         #Nuevo
                if event.key == pygame.K_RIGHT:  #Nuevo
                    r1.move_ip(10,0)                          #Nuevo
                if event.key == pygame.K_UP:        #Nuevo
                    r1.move_ip(0,-10)                         #Nuevo
                if event.key == pygame.K_DOWN:  #Nuevo
                    r1.move_ip(0,10)                          #Nuevo
    
        reloj1.tick(20)
        pantalla.fill(verde)
        
        pygame.draw.rect(pantalla,rojizo,r1)
        pygame.draw.rect(pantalla,azulado,r2)
        pygame.display.update()

    pygame.quit()

main()


Como ya sabemos, Python trabaja con eventos, es decir que cada movimiento será un evento en el juego.


if event.type == pygame.KEYDOWN: Esta función es para que cuando ocurra el evento de apretar una tecla, suceda algo. La cual desarrola las siguientes funciones.

if event.key == pygame.K_LEFT:   
                    r1.move_ip(-10,0) 
Esta función es específica para mover hacia la izquierda, "K.LEFT" indica que será la tecla es la flecha direccional izquierda y que se moverá -10 a la izquierda, y 0 para la derecha.
                     
if event.key == pygame.K_RIGHT:  
r1.move_ip(10,0)          Esta función es para mover hacia la derecha, "K_RIGHT" esta parte indica que se moverá si oprimimos la flecha direccional derecha.

 if event.key == pygame.K_UP:       
  r1.move_ip(0,-10)    Esta función es para mover hacia arriba de la pantalla, "K_UP" nos indica que orimiendo la flecha direccional hacia arriba, se hará movimiento hacia arriba.

if event.key == pygame.K_DOWN: 
 r1.move_ip(0,10)   Esta función es para mover hacia abajo de la pantalla, "K_DOWN" nos indica que oprimiendo la flecha direccional hacia abajo, se hará moviemiento hacia abajo en la pantalla.




Fuentes:
http://www.pygame.org/docs/ref/key.html
http://www.youtube.com/watch?v=S5D2-IOwQfM&feature=related

1 comentario: