November 20, 2010

Pygame!

Dra Elisa Schaeffer
Lab de lenguajes de progra    Jueves V1

Bueno sigamos con lo que hasta el momento teniamos de nuestra animacion con pygame.

Lo que realizaremos sera que en vez de que Tux se mueva con el cursor del mouse, se mueva a donde nosotros demos click. Esto es muy sencillo en unos cuantos pasos lo realizaremos

Lo que hay que hacer es llevar la línea de código

mx,my = pygame.mouse.get_pos()  que esta dentro del while, hay que colocarlo fuera de éste. Y si gustan pueden borrar la línea print mx  eso ya es de uds

recuerden que esta linea es la detecta la posicion en la que se encuentra el mouse en nuestra ventana.

Ahora lo que sigue por hacer es agregar esa misma linea de codigo en el elif que tiene el evento de que al hacer click se reproduce un sonido.
elif cerrar.type == MOUSEBUTTONDOWN:
            salto.play()   


Bueno agregamos la linea dentro de este elif, y con esto al hacer click en la pantalla Tux se movera a donde nosotros agamos click.


Ahora ejecutemos nuestro programa y al dar click en la pantalla el tux mas pequeño se movera a donde demos click

Esto puede ayudar mucho cuando se quiere programar juegos, es una buena instruccion


Ahora lo que haremos sera colocar una imagen como fondo, se hace de la siguiente manera:

primero cargamos la imagen como la de Tux con la siguiente instruccion que debe ir donde cargamos la inagen de Tux.

fondo = pygame.image.load("bg.jpg")  fondo asi fue como llame a la variable, pygame.image.load es la instruccion para cargar la imagen ("bg.jpg") es la imagen que utilizare como fondo, uds pueden elegir la imagen que deseen pero recuerden que debe estar en la misma carpeta y al cargarla deben escribir la extension tambien

Ahora hay que hacer que la imagen forme parte de la pantalla esto con la instruccion siguiente, debe  de ir despues del while con las demas instrucciones donde hicimos a Tux parte de la pantalla.

ventana.blit(fondo,(0,0))    ventana la variable que crea nuestra ventana,  .blit es para que forme parte de nuestra ventana,  fondo es la variable que carga la imagen de fondo (0,0)  son las coordenandas para que aparezca en la esquina superior izquierda.


Al tener nuestra imagen de fondo ya no necesitamos que este cambiando de color la pantalla,  removemos las lineas  r = 0   y lo siguiente

if r == 255:   
        r1 = -1
       
    elif r == 0:
        r1 = 1
       
    r = r + r1


Y la instruccion con la que se llena el fondo es decir

ventana.fill((r,0,0))  la cambiamos por   ventana.fill(negro)   negro es una variable que habiamos creado anteriormente con los valores 0,0,0.


Ahora para que nuestro fondo ocupe la pantalla completa lo que debemos hacer es editarla a escala como hicimos con Tux anteriormente, esto es poniendo la siguiente linea debajo de donde cargamos la imagen de nuestro fondo

fondo = pygame.transform.scale(fondo,tamano)   fondo que es la variable para nuestra imagen de fondo ,  pygame.transform.scale  para poner a escala la imagen,  fondo que es la variable que carga la imagen y tamano que son las medidas de nuestra ventana que ya hemos definido antes.


Ahora ejecutamos el programa y nos quedara algo parecido a lo siguiente:

Esto seria todo espero sea de gran ayuda. Saludos a todos

1 comment: