sábado, 6 de febrero de 2010

Jugando con Pygame

Antes que nada quiero aclarar que de diseño de juegos, no tengo idea, si quieren a alguien que sepa de eso vayan al blog de mi amigo Alejandro Iglesias. Habiendo hecho la salvedad pertinente, les voy a pasar a contar un poquito de lo que vengo viendo (jugando) con pygame que, según Wikipedia, es un conjunto de módulos del lenguaje Python que permiten la creación de videojuegos. A videojuegos no vamos a llegar pero lo que voy a mostrar rapidamente es como, instalar en Ubuntu primero y dibujar una serie de formas despues, haciendo uso de estos módulos.
Pero primero lo primero; abrimos una consola y  "sudo apt-get install python-pygame" mediante tenemos instalado el conjunto de módulos listo para usar.

Ahora un par de muestras (muuuuuuuuuuy pero muy pequeñas) de lo que pygames nos permite hacer con pocas, muy pocas, lineas de código:

# importamos los modulos a utilizar
import pygame
from pygame.locals import *
# inicializamos
pygame.init()

# Estas son las dimensiones y la declaracion de la pantalla
screen = pygame.display.set_mode((400, 300))

# Escribe el texto en la barra de la pantalla
pygame.display.set_caption('Figuras diversas!!')

# Pone visible el mouse
pygame.mouse.set_visible(True)

# Dibuja el cuadrado que sera de la medida de la pantalla creada
black_square_that_is_the_size_of_the_screen = pygame.Surface(screen.get_size())

# Le pone el color de fondo negro
black_square_that_is_the_size_of_the_screen.fill((0, 0, 0))

# Dibuja el cuadrado negro a partir de la posicion (0, 0)
screen.blit(black_square_that_is_the_size_of_the_screen, (0, 0))

# Actualiza el contenido de la pantalla
pygame.display.flip()

#Colores utilizados
red_color = (255, 0, 0)
blue_color = (0, 0, 255)
green_color = (0, 255, 0)
yellow_color = (255, 255, 0)
white_color = (255, 255, 255)

flag = True
while flag:
    # rectangulo
    pygame.draw.rect(screen, red_color, (50,  50,   60,   60))
    # poligono
    pygame.draw.polygon(screen, blue_color,  [(50, 140), (50, 170), (80, 210), (110, 170), (110, 140)])
    # circulo
    pygame.draw.circle(screen, green_color, (200, 200), 40)
    # elipse
    pygame.draw.ellipse(screen, yellow_color, (140,  50,   30,   60))
    # elipse parcial (es un pedazo)
    pygame.draw.arc(screen, white_color, (200,  50,   30,   60), 0, -45)
    pygame.display.flip()

    # Rescata la cantidad de eventos, si unos es del tipo QUIT (se presiona la cruz) cierra la ventana
    eventos = pygame.event.get()
    if len(eventos) > 0:
        if eventos[0].type == QUIT: flag = False

# Aqui llegamos al fin :P

Esto, pensé, puede ser una introducción muuuuuuuuy básica a pygame... Ahora bien, si quieren documentación de verdad, remitirse a la web de pygame o a la web de losersjuegos donde, por suerte para los mas vagonetas como yo, está la documentación traducida a nuestro idioma.

Hasta la próxima!

No hay comentarios:

Publicar un comentario en la entrada