martes, 9 de noviembre de 2010

LABORATORIO DE PROGRAMACIÓN WEB

Python y librería Pygame.
Hola, soy Carlos Triana, esta entrada trata de cómo crear una ventana, y asignarle a la misma una imagen de fondo en python, todo esto con la ayuda de la librera Pygame.



Pygame es un conjunto de módulos del lenguaje Python que permiten la creación de videojuegos en dos dimensiones de una manera sencilla.
Para hacer importar Pygame, es necesario descargarlo, yo usé sudo apt-get install en ubuntu, y me dio opciones para instalarlo.
El siguiente es el código del programa:





















Bueno esta parte del código solo trata de cómo crear nuestra ventana.


Las primeras líneas, como lo menciono en los comentarios del programa, solo son para importar la librería Pygame.


Despúes definí 2 constantes, que son width y height, que las usaré para darle las medidas a la ventana que crearemos.


Luego viene la función principal del programa, la primera linea de nuestra función asigna a la ventana las medidas que definí como constantes, que son 640 x 480, la segunda linea de la función principal asigné un nombre a nuestra ventana, la nombré "Ventana en Pygame".


Las siguientes 5 líneas de la función principal, entran en un ciclo que dice que mientras al programa no se le de cerrar, segirá ejecutandose, si no agregaramos esas líneas a nuestro progama, al darle click en cerrar, no se cerraría, se tendría que parar al programa desde la terminal y no desde la ventana en Pygame que hemos creado.


La línea 18 del programa, comprueba que el programa se esté ejecutando como principal (def main ), si comprueba que el programa se está ejecutando como principal, ejecuta las líneas 19 y 20 (la funcion main, en caso contrario no la ejecuta).

La línea 19 del programa inicializa la librería Pygame, y la siguiente la función main.


La línea final es solo para que no se cierre la ventana de nuestro programa al instante (no confundir la ventana del programa con la ventana que creamos de Pygame), lo que hace es que espera una entrada por teclado.


El siguiente código es para agregar a la ventana ya creada una imagen de fondo.


En el código incluí comentarios para las lineas nuevas, que solo es una función, que carga la imagen que va ir de fondo a la función le puse el nombre de "carga_imagen".
Las primeras lineas de esa función, hacen que si tiene parte transparente la imagen, la tome como tal.
Luego asigné a la variable image la imagen a través de la función "pygame.image.load()", en caso de que no se pueda asignar,las 2 líneas siguientes manejan el error, y sale del programa.
Las siguientes líneas de la función, entran en una condicional que controlan el parámetro transparent, si es verdadero, ejecuta las siguientes 2 líneas , la primera obtiene el color del pixel (0,0) de la imagen y la segunda lo define como color transparente de la imagen.
La última línea de la función retorna la imagen.
Para cargar la imagen puse la línea 22, se tiene que agregar la ruta de la imagen que quieres como fondo, en mi caso, el programa esta junto con una carpeta que se llama images, y mi imagen se llama num1,jpg, en caso de que quieran poner otra imagen, solo pongan la ruta y el nombre de la imagen que quieran (no se olviden de poner la extensión de la imagen).
Por último para imprimir la imagen en la ventana que creamos, pusé la instrucción "pygame.display.flip()", estas 2 últimas líneas van en el bucle for principal.
Bueno eso es todo, espero les sirva, y les haya gustado.
Cualquier duda o corrección la pueden poner en los comentarios.

1 comentario: