Está en la página 1de 31

Fundamentos

Dibujamos? Usando Pygame

Cursada 2013

Fundamentos

Qu es PyGame?
Pygame es un conjunto de mdulos escritos en Python diseados para escribir juegos en dos dimensiones. Incluye grficos y bibliotecas de sonido diseadas para
ser utilizadas directamente bajo Python.

No es nuevo: desde ao 2000... Es portable y libre. Url: http://www.pygame.org/

Cursada 2013

Fundamentos

Instalando PyGame
Se necesita tener Python instalado Descarga de: http://www.pygame.org/download.shtml Importante: revisar compatibilidad de versiones.

La versin 1.9.1 es compatible con Python 2.7 Verificar sistema operativo: es multiplataforma
En el sitio oficial hay ms de muchos proyectos descargables:

Cursada 2013

Fundamentos

Algunos ejemplos - Juegos

http://www.pygame.org/project/625/ http://www.pygame.org/project/1114/

Cursada 2013

Fundamentos

Algunos ejemplos - Grficadores

http://pygame.org/project-PaintBrush-1280-.html

http://pygame.org/project-PyPicturePainter-1110-.htm l
Cursada 2013

Fundamentos

Algunos Trabajos de Alumnos

Grupo 5

Grupo 14

Trabajos realizados por alumnos de La Plata


Cursada 2013

Fundamentos

Algunos Trabajos de Alumnos

Juego de Geografa

Practicando las tablas

Trabajos realizados por alumnos de la UNAJ


Cursada 2013

Fundamentos

Empezamos?
Vamos a ver primero algunos mdulos para realizar grficos sencillos. Cmo crear una ventana y dibujar luego en ella. PyGame provee varios mdulos para representar lneas, polgonos, crculos, etc. Para utilizarlos, debemos importar la librera pygame y otras ms que sern necesarias:
import importpygame pygame import importos os Import Importsys sys from frompygame.locals pygame.localsimport import**
Cursada 2013

Fundamentos

Qu importamos?
import importpygame pygame
Importa la librera pygame. Por ende sus mdulos. Algunos de ellos son opcionales.

import importos os import importsys sys

Importa dos mdulos estndar necesarios para algunas funciones

from frompygame.locals pygame.localsimport import**


locals es mdulo especial de pygame que contiene constantes y funciones tiles.

Cursada 2013

Fundamentos

A dibujar ...
Luego de importar las libreras, hay que inicializar pygame:
pygame.init() pygame.init()

Abrimos una ventana?


ventana ventana= =pygame.display.set_mode((ancho,alto)) pygame.display.set_mode((ancho,alto)) pygame.display.set_caption(TtuloVentana') pygame.display.set_caption(TtuloVentana')

Cursada 2013

Fundamentos

A dibujar ...
ventana ventana= =pygame.display.set_mode((ancho,alto)) pygame.display.set_mode((ancho,alto)) pygame.display.set_caption(TtuloVentana') pygame.display.set_caption(TtuloVentana') display.set_mode: permite crear e inicializar una ventana como lugar de exposicin de lo que se va a mostrar. display.set_caption: coloca el nombre o ttulo a la ventana

Importante: cada imagen, grfico o texto que se quiera mostrar, se debe agregar a la ventana que creamos.
Cursada 2013

Fundamentos

4 0 0

400

Cursada 2013

Fundamentos

Lo intentan? Generemos una ventana de 350x560 cuyo ttulo sea Mi primer ventana en pygame

Cursada 2013

Fundamentos

Graficamos algo? Usando el mdulo Draw

Cursada 2013

Fundamentos

El mdulo Draw
Permite trabajar con las siguientes formas:
rect ellipse rect polygon polygon circle circle ellipse arc arc line aaline aalines line lines lines aaline aalines
Los dibujos se realizan sobre una superficie y todas las funciones de dibujo se limitan al rea de recorte para esa superficie. Generalmente las funciones contienen un argumento ancho que representa el tamao del borde del dibujo. Si tiene valor 0, la funcin pintar la figura entera como slida. La mayora de las funciones aceptan un argumento color, que en general es una terna o tupla RGB (Red, Green, Blue)
Cursada 2013

Fundamentos

Pygame - Colores
Podramos definir

negro blanco azul verde rojo

= ( 0, 0, 0) = (255, 255, 255) = (0, 0, 255) = (0, 255, 0) = (255, 0, 0)


naranja=(255,153,102)

Geany tiene una herramienta

Cursada 2013

Fundamentos

Dibujando rectngulos
Mdulo Draw - rect
pygame.draw.rect(superficie, pygame.draw.rect(superficie,color, color,propiedades, propiedades,ancho): ancho):return returnRect Rect

Dibuja una figura rectangular sobre una superficie. Parmetros: superficie: superficie dnde va a colocar el rectngulo. color: color del rectngulo propiedades: rea del rectngulo (col, fila, ancho, alto) ancho: borde del rectngulo. Si es 0 indica slido. Qu retorna? El rectngulo que ocupa el grfico
Cursada 2013

Fundamentos

Dibujando rectngulos

Cursada 2013

Fundamentos

Lo bsico: el objeto Surface

Recuerden el posicionamiento dentro de una superficie:


rojo=(255,0,0) col=300 fila=100 ancho=100 alto=50 prop=(col, fila, ancho,alto) borde=0

(0,0) (300,100)
(col, fila)

pygame.draw.rect(ventana,rojo,prop, bo

Cursada 2013

Fundamentos

Dibujando rectngulos
Importamos los mdulos necesarios Inicializamos la librera Creamos la ventana

Dibujamos el rectngulo

Por ltimo, se debe actualizar la ventana para que se visualice el rectngulo


Cursada 2013

Fundamentos

Dibujando crculos
Mdulo Draw - circle
pygame.draw.circle(superficie, pygame.draw.circle(superficie,color, color,pos, pos,radio, radio,ancho): ancho):return returnRect Rect

Dibuja un crculo sobre una superficie. Parmetros: superficie: superficie dnde va a colocar el crculo. color: color del crculo pos: Punto, centro del crculo. radio: radio del crculo ancho: borde del crculo. Si es 0 indica slido.

Cursada 2013

Fundamentos

Dibujando crculos

Cursada 2013

Fundamentos

Dibujando polgonos
Mdulo Draw - polygon
pygame.draw.polygon(superficie, pygame.draw.polygon(superficie,color, color,lista, lista,ancho): ancho):return returnRect Rect

Dibuja un polgono sobre una superficie. Prmetros: superficie: superficie dnde va a colocar el polgono. color: color del polgono lista: Lista de puntos vrtices del polgono ancho: borde del polgono. Si es 0 indica slido.

Cursada 2013

Fundamentos

Dibujando polgonos

Cursada 2013

Fundamentos

Dibujando lneas
Mdulo Draw - line
pygame.draw.line(superficie, pygame.draw.line(superficie,color, color,posInicial, posInicial,posFinal, posFinal,ancho): ancho):return returnRect Rect

Dibuja una lnea sobre una superficie. Parmetros: superficie: superficie dnde va a colocar la lnea. color: color de la lnea PosInicial: Punto inicial de la lnea PosFinal: Punto final de la lnea ancho: borde de la lnea.

Cursada 2013

Fundamentos

Dibujando lneas

Cursada 2013

Fundamentos

Hacemos un dibujo?

Cursada 2013

Fundamentos

Hacemos un dibujo?

Cursada 2013

Fundamentos

Lo intentan? Generemos una ventana llena de burbujas

Cursada 2013

Fundamentos

Para trabajar con nmeros aleatorios

Genera un nmero aleatorio entre 0 y 500

Dibujo un crculo

Cursada 2013

Fundamentos

Recordemos....
import importpygame pygame import importos os import importsys sys from frompygame.locals pygame.localsimport import** ventana ventana= =pygame.display.set_mode((ancho,alto)) pygame.display.set_mode((ancho,alto)) pygame.display.set_caption(TtuloVentana') pygame.display.set_caption(TtuloVentana')

Para Dibujar...
pygame.draw.rect(superficie, pygame.draw.rect(superficie,color, color,rect, rect,ancho): ancho):return returnRect Rect r pygame.draw.polygon(superficie, pygame.draw.polygon(superficie,colo, colo,lista, lista,ancho): ancho):return returnRect Rect pygame.draw.circle(superficie, pygame.draw.circle(superficie,color, color,pos, pos,radio, radio,ancho): ancho):return returnRect Rect pygame.draw.line(superficie, pygame.draw.line(superficie,color, color,posInicial, posInicial,posFinal, posFinal,ancho): ancho):return returnRect Rect

Cursada 2013