domingo, 25 de septiembre de 2011

Empezando videojuego (Parte 3)

Mover objetos


  #!/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) #Nuevo
    r2=pygame.Rect(200,200,100,50) #Nuevo
    

    while salir!=True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                salir=True
            if event.type == pygame.MOUSEBUTTONDOWN: #Nuevo
                r1=r1.move(1,0) #Nuevo
    
        reloj1.tick(20)
        pantalla.fill(verde)
        
        pygame.draw.rect(pantalla,rojizo,r1) #Nuevo
        pygame.draw.rect(pantalla,azulado,r2) #Nuevo
        pygame.display.update()

    pygame.quit()

main()


Como podemos ver, le añadí comentarios a las líneas de código que no estaban en el anterior. Aquí la explicación de lo que hacen:

r1=pygame.Rect(50,50,45,45) Esta función pygame.Rect() nos hace un rectángulo en la pantalla, (como las superficies de la entrada pasada) El primer número de la función, el 50, es la coordenada x en la que se sitúa, el segundo número de la función, el 50 es la coordenada en y; el tercer número, el 45 es el tamaño de la base, y el último número 45, es el tamaño de la altura.

En la función de r2 es lo mismo.

if event.type == pygame.MOUSEBUTTONDOWN: Esta función corresponde a eventos de pygame, esta nos dice que si el evento es igual a oprimir botón del mouse, se moverá dicha figura.

 r1=r1.move(1,0) Esta es la figura que se mueve. El número 1 dentro de la función indica que se moverá 1 pixel en la coordenada x, y el 0 quiere decir que se moverá 0 pixeles en la coordenada y. r1 es que se moverá la figura 1.


pygame.draw.rect(pantalla,rojizo,r1)          pygame.draw.rect(pantalla,azulado,r2) Estas 2 funciones nuevas son otra forma para dibujar rectángulos, la anterior era de superficies, esta es de rectángulos, el parámetro primero, que viene siendo "pantalla", quiere decir que el dibujo se hará en la pantalla establecida, "rojizo" es el color del rectángulo, y "r1" es el nombre de la figura.

Cuando despleguemos la pantalla, al darle clic en la pantalla, el rectángulo rojo se moverá por cada clic.

Fuentes:
http://www.youtube.com/watch?v=qIhUiDP5wW8&feature=related
http://www.pygame.org/docs/ref/rect.html

No hay comentarios:

Publicar un comentario