Lab de Lenguajes de Programación jueves v1
Continuemos con esta serie de posts sobre pygame....
En el post anterior terminamos con el código de la siguiente manera:
Lo que haremos ahora será que nuestra imagen se mueva en la pantalla y haremos que el fondo de nuestra pantalla cambie de colores :P
Lo primero que haremos es tomar las líneas que cargan nuestra imagen y redibujan nuestra pantalla para que aparezca Tux en la pantalla
ventana.blit(tux,(200,200))
pygame.display.flip()y las colocamos dentro del for,esto para que nuestra imagen obtenga movimiento.
Despues insertaremos dos variables x = 0 y y=0 estas variables irán fuera del while. Las coordenadas 200,200 dentro de ventana.blit las cambiaremos por "x" y "y".
Nuestro código quedará de la siguiente manera:
Hasta este paso si ejecutamos nuestro programa seguira pasando lo mismo tendremos nuestra pantalla con la imagen de Tux solo que en la posicion 0,0
Ahora debajo de pygame.display.flip() y dentro del for colocaremos lo siguiente
x = x+1
Esto para que las cordenadas dentro de ventana.blit(tux,(x,y)) vayan aumentando en 1 y la imagen se mueva. Si ejecutamos el código Tux se movera pero dejara rastro. Se veria algo asi:
Esto pasa porque no estamos limpiando la pantalla cada vez que Tux cambia de posición, lo que haremos es lo siguiente
Creamos una variable que la llame negro = 0,0,0 esta variable irá debajo de tamano = ancho, alto = 600, 40. 0,0,0 porque es el codigo de colores rgb. Estos valores los pueden cambiar para obtener distintos colroes de fondo.
Despues colocaremos:
ventana.fill(negro)
Dentro de nuestro for, esta instrucción debe ir antes de ventana.blit(tux,(x,y)). Y lo que hace esta instrucción es que rellena la pantalla con color negro cada vez que la imagen se mueve. Por último debajo de x = x+1 y dentro del for colocaremos y = y+1 esto hará que Tux se mueva en diagonal. El código quedó de la siguiente manera:
Al ejecutar el código obtendriamos a Tux moviendose desde la esquina superior izquierda en diagonal hasta la esquina inferior derecha
Para hacer que el fondo de nuestra pantalla cambie en dos colores distintos lo que haremos será lo siguiente.
Agregaremos una variable r = 0 debajo de y = 0 y en nuestra instrucción
ventana.fill(negro)
cambiaremos la variable negro por (r,0,0)Despues dentro de nuestro for tenemos y = y+1, debajo de esta linea pondremos
r = r+1
El código estaría como el siguiente:
Si ejecutamos el código lo que pasara será que la pantalla cambiara de negro a rojo pero llegara a un color rojo que la máquina no puede establecer y marcara error. Esto lo corregiremos con lo siguiente
Borraremos la instrucción r = r+1 y en su lugar colocaremos lo siguiente
if r == 255:
r1 = -1
elif r == 0:
r1 = 1
r = r + r1
Este if servirá para que cuando el valor de r llegue a 255 este vaya en retroceso y produzca un color negro, ya que con r1=-1 se lo irá restando según vaya avanzando en el for.
Ahora si el fondo de nuestra pantalla irá de negro a rojo y de rojo a negro.
De este post es todo... espero les halla gustado y les sea de ayuda,, saludoss
Bien, seis puntos para el lab.
ReplyDelete