Razón Artificial

La ciencia y el arte de crear videojuegos

Pygame I: Importar e inicializar

Escrito por adrigm el 14 de febrero de 2010 en Desarrollo Videojuegos, Noticias, Programación | 20 Comentarios.

He decidido progresar en el tema de aplicaciones gráficas y aunque GASP estaba bien, se quedaba corto y no era muy estable. Ahora he comenzado con Pygame que a pesar de que podemos encontrar toda la referencia traducida, esto no nos ayuda a comenzar pues no sabe bien como usar las cosas. Voy a intentar explicar unas nociones básicas de Pygame que he obtenido a base de leer y probar. Con estos tutoriales no seréis expertos en Pygame, pero si tendréis un punto de partida para empezar. Vamos allá.

Requesitos previos

  • Conocimientos de Python. Se da por hecho que se manejan con soltura la creación de clases, funciones y demás.
  • Algo de matemáticas y física básica. Para empezar con conceptos básicos de lo que es un punto matemática y algunas formulas básicas de física tenemos de sobra.

Qué necesitamos

  • Tener Python y Pygame instalados.
  • Un IDE o editor de texto a elección.
  • Un directorio base donde trabajar. Yo he creado una carpeta llamada pygame con dos carpetas en el interior llamadas images y sound.

El documento base

Mi método de trabajo es tener todo organizado para que el código sea fácil de leer, es por eso que antes de empezar voy a compartir mi plantilla base que podéis guardar como plantilla.py. A partir de ella escribo mis programas y es desde donde comenzare estos tutoriales.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Módulos

# Constantes

# Clases
# ---------------------------------------------------------------------

# ---------------------------------------------------------------------

# Funciones
# ---------------------------------------------------------------------

# ---------------------------------------------------------------------

def main():
	return 0

if __name__ == '__main__':
	main()

Importar e inicializar

Lo primero que hay que hacer para trabajar con Pygame es importarlo e inicializarlo. Para importarlo basta con las líneas:

import pygame
from pygame.locals import *

La primera línea importa pygame y la segunda carga las constantes para poder utilizar, por ejemplo, K_ESCAPE, en lugar de estar de tener que llamarla a través del módulo Pygame.

Una vez importado pasamos a inicializar. Se puede inicializar cualquiera de los módulos de Python por separado, pero para no complicarnos por ahora inicializaremos todo pygame con la línea:

pygame.init()

Esta se debe ejecutar antes de empezar a usar Pygame, un buen lugar es antes de llamar a la función main(), justo aquí:

if __name__ == '__main__':
	pygame.init()
	main()

Con esto ya tenemos importado e inicializado Pygame y estamos listos para trabajar, dejo como se debe tener el archivo hasta ahora:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Módulos
import pygame
from pygame.locals import *

# Constantes

# Clases
# ---------------------------------------------------------------------

# ---------------------------------------------------------------------

# Funciones
# ---------------------------------------------------------------------

# ---------------------------------------------------------------------

def main():
	return 0

if __name__ == '__main__':
	pygame.init()
	main()

En el siguiente tutorial aprenderemos a crear una ventana y poner en ella una imagen.

20 Comentarios en "Pygame I: Importar e inicializar"

  1. […] con los tutoriales de Pygame, después de aprender a importar e inicializar, vamos a lo que es realmente divertido. En este tutorial aprenderemos a crear una ventana, así que […]

  2. […] el primer tutorial aprendimos a importar e inicializar, En la segunda parte a crear una ventana y en este aprenderemos […]

  3. […] parte 1, parte 2 y parte 3 nos sirvieron como introducción a Pygame, aprendimos a iniciar pygame, crear […]

  4. Windgate dice:

    Bravo por el tutorial, parece sencillo, pero hay algo que me “mosquea” del primer ejemplo:

    if __name__ == ‘__main__':

    ¿Podrías comentar lo que hace esa línea en el código o en algún comentario del post? No entiendo si se trata de constantes, variables o qué…

    En cualquier caso buen trabajo y gracias por el recurso.

  5. admin dice:

    Windgate, esa línea sirve para saber si el programa se está ejecutando como principal, es decir que no es un módulo.

    Por ejemplo imagina que yo en el archivo ese tengo un montón de clases y funciones que quiero usar en otro programa y lo importo, en tal caso al comprobar que no se está ejecutando como principal no me ejecuta la función main(), ni inicializa python.

    No lo comento en el tutorial porque que es un tema acerca de Python y no de pygame.

    Un saludo.

  6. titopo dice:

    No creo que sea lo más indicado poner esta línea en ningún archivo de código fuente:

    # -*- coding: utf-8 -*-

    porque el tipo de codificación depende del editor que se esté usando y no del comentario que le quieras poner.

  7. admin dice:

    titopo, Python usa esa línea para saber el tipo de codificación en la que está el código. Ahora si lo abres en un editor que no acepta utf8 las caracteres especiales se te verán mal, pero Python compilará bien porque si acepta utf8.

  8. Waitsignal dice:

    Buenas, he enlazado la entrada de los tutoriales a mi blog, espero que no os importe.

    Gracias por lo tutoriales, seguid así.

    http://jabatogames.blogspot.com

  9. […] el primer tutorial aprendimos a importar e inicializar, En la segunda parte a crear una ventana y en este aprenderemos […]

  10. […] parte 1, parte 2 y parte 3 nos sirvieron como introducción a Pygame, aprendimos a iniciar pygame, crear […]

  11. amelis dice:

    woOooO me ayudo mucho gracias ;)

  12. […] el primer tutorial aprendimos a importar e inicializar, En la segunda parte a crear una ventana y en este aprenderemos […]

  13. ed dice:

    trabajo con python 3.2 y no me corre gracias a la ultima line if _name_== _main_ : me dice que name no esta definido ,,,me podria explicar como lo haria correr .sin ese problema

  14. […] de videojuegos, aplicaciones, etc. Podéis encontrar el esqueleto tal cuál en este enlace. Es algo muy útil que facilita no sólo la creación de las aplicaciones, sino […]

  15. nestor dice:

    hola estoy aprendiendo a usar python no entiendo para que sirve el “.locals” cuando importas…muchas gracias por el aporte y por el tiempo dedicado

  16. Ismael VC dice:

    @ed un año despues pero no importa, fijate bien no es __amin__, es ‘__main__’ (una cadena):

    if __name__ == ‘__main__':
    main()

  17. ambrosio dice:

    from pygame.locals import *
    me da error
    ayuda por favor

  18. no hay mas cosas :( están muy bueno este tutorial y en español 20puntos solo me lanzo un error libpng warning: iCCP: known incorrect sRGB profile, pero si muestra la ball y el background, muchas gracias por los inicios, me gustaria hacer que se moviera!

Deja un comentario