martes, 22 de noviembre de 2011

Cargar imágenes en Python

Al principio que no sabía cómo cargar imágenes se me hacía algo muy difícil el sólo pensar en cómo cargar una. Pero despúes de ver tutoriales de Python, me di cuenta que es sumamente sencillo.


Paso 1: Sería una buena idea que tengamos una plantilla como la siguiente, ya que es muy básica para cuando queremos comenzar un juego en pygame:

Este pedazo de código lo que hace es lo siguiente: Carga la librería "Pygame" con "import pygame" después inicializa todas las funciones de esta con "pygame.init()"
Después nos carga una pantalla de 600x400 pixeles. En el ciclo While nos despliega la pantalla que indica que hasta que se ponga la tacha no se cerrará. Saliendo del while ponemos a 15 frames por segundo las actualizaciones de la pantalla, en la siguiente lína llenamos la pantalla de color negro.

Paso 2: Guardamos los cambios de nuestra plantilla y la cargamos para ver que nos despliega lo siguiente:


Paso 3: Ahora ya es tiempo de cargar nuestra imagen en la superficie de la pantalla que ya creamos anteriormente: Escribimos "gatito=pygame.image.load("CatMariobien1.png")" lo que nos hace esta línea de código es asignar la imagen CatMariobien1.png a nuestra nueva función llamada "gatito" la cual la ponemos para no tener que escribir toda la instrucción del otro lado de la igualdad cada vez que queramos llamar a nuestra imagen. Después la pintaremos en nuestra pantalla con la instrucción: "pygame.blit(gatito,(20,20))" lo que hace es pintar a nuestro gatito en las coordenadas 20,20 de nuestra pantalla.



Paso 4: Recordemos que la instrucción para pintar a nuestro gatito en la pantalla debe ser después de cuando establecimos nuestro fondo, ya que si lo hacemos antes no aparecerá en la pantalla porque primero se pintará a nuestro gatito y después nuestro fondo. Corremos nuestro programa y esto es lo que obtenemos:



Es todo por esta entrada, espero les haya servido.

#!/usr/bin/python

import pygame

pygame.init()
pantalla=pygame.display.set_mode((600,400))
salir=False
reloj=pygame.time.Clock()
gatito=pygame.image.load("CatMariobien1.png")

while salir!=True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            salir=True

    reloj.tick(15)
    pantalla.fill((0,0,0))
    pantalla.blit(gatito,(20,20))
    pygame.display.update()

pygame.quit()

9 comentarios:

  1. hola apenas inicio en python y tengo una pregunta sobre esto perdon si es muy obvia jeje pero en q carpeta o lugar debo colocar la imagen .png

    ResponderEliminar
  2. Hola. La imagen que quieres utilizar la debes colocar en la misma carpeta donde tengas el programa. Espero haya resuelto tu duda.

    ResponderEliminar
  3. Hola Dani, muy interesante el tema gracias por publicarlo.
    Se ve que tienes temas muy interesantes sobre python por aqui. Hace poco empece a estudiar a fondo este hermoso lenguaje y a decir verdad desde el principio me cautivo la simplicidad.
    Buen Blog! :D

    ResponderEliminar
  4. Hola, como se podría hacer para que en ves de que la imagen este en el mismo lugar que el código se pudiere buscar la imagen,como en cualquier programa de imágenes y gracias por la explicación.

    ResponderEliminar
  5. hola gracias por tu aporte , funciono de maravilla

    ResponderEliminar
  6. Buenas, una duda, si quiero poner 7 imagenes distintas de 39 posibles, tengo que crear las 39 variables cada una con su imagen para luego mostrar las 7 citadas? Muchas gracias y un saludo.

    ResponderEliminar
  7. Buenas, al final hice la prueba tal y como te la preguntaba, y parece ser que era la manera correcta de hacerlo, un saludo.

    ResponderEliminar