Diferencia entre revisiones de «Curso Python DGA 2011/pygame/introduccion»

De WikiEducator
Saltar a: navegación, buscar
Línea 2: Línea 2:
  
 
{{MiTitulo | Introducción}}
 
{{MiTitulo | Introducción}}
 
+
__NOTOC__
 
== ¿Por qué programar videojuegos?==
 
== ¿Por qué programar videojuegos?==
 
* ¡A todos nos gustan!  
 
* ¡A todos nos gustan!  
Línea 14: Línea 14:
 
* Modificar juegos escritos con Python y Pygame
 
* Modificar juegos escritos con Python y Pygame
 
* Usar pygame como herramienta para motivar a la programación de tus alumnos.
 
* Usar pygame como herramienta para motivar a la programación de tus alumnos.
 +
}}
 +
 +
{{Conocimiento_previo|
 +
Title=Algunos coneptos básicos de programación en 2D|
 +
== Conceptos Básicos de Programación 2D ==
 +
=== Superficies ===
 +
Las bibliotecas gráficas 2D se basan en el concepto de '''superficie''' (surface). Una superficie es un espacio en memoria donde guardar una imagen.
 +
=== Blit===
 +
Las superficies se copian en otras superficies ('''blit''') en una posición (coordenadas)
 +
=== Flip ===
 +
Las imágenes se componen por '''blit''' en un buffer en segundo plano, con flip se actualiza el monitor.
 +
* Si se dibuja directamente sobre la pantalla, se verá un parpadeo por retraso en el refresco vertical ('''VSINC''')
 +
;'''Doble buffer'''
 +
: Se copian las imágenes sobre una superficie y después se dibujan sobre la tarjeta gráfica
 +
; '''Dirty Rectangles
 +
: Se copian sólo las áreas de la pantalla que han cambiado
 +
 +
== Sprites ==
 +
Un Sprite es cualquier objeto que aparece en nuestro videojuego. Normalmente suelen ser sus personajes. Todo sprite tiene una imagen y una posición.
 +
Las imágenes de los Sprites suelen tener una parte transparente, que se marca con el canal alfa (un buffer que indica qué partes de la imagen son transparentes y cuáles opacas). También se puede utilizar un color key, o color base, que se interpretará como transparente.
 +
 +
== Pixel ==
 +
Es el elemento mas básico en la programación gráfica: un elemento de una imagen que representa la unidad mínima que esta puede contener, básicamente lo podríamos definir como un simple punto que forma parte de una imagen definida que tiene asociado un color.
 +
 +
== BITMAP (Mapa de Bits) ==
 +
Un Bitmap básicamente es una cuadricula de pixeles que tiene atributos como ancho y alto (la cual se mide en numero de pixeles) y tiene asociado algún formato ya sea bmp, png, jpg, gif, etc. La diferencia entre los formatos se da por algunos parámetros tales como calidad y tamaño de archivo, por ejemplo si queremos mantener tamaño/calidad, los formato que se ajustan son png y jpg, pero acarrean un problema, ya que usan algoritmos de conprecion trabajar directamente con ellos consume mucho recursos por lo que se debe hacer una conversión a un formato mas simple da el caso del bmp, tif, etc.
 +
 +
== BPP (Bits por Pixel) ==
 +
Otra características de las imágenes es la profundidad de colores. (números de bits que se usan para representar un color en particular), el numero de bits que podemos utilizar es de 2, 8, 16, 24, 32 (como ven todo en potencias de 2) siendo 32 bits la mas alta resolución posible. El numero de combinaciones posibles se calcula de la siguiente forma:
 +
 
}}
 
}}

Revisión de 04:26 30 ago 2011




¿Por qué programar videojuegos?

  • ¡A todos nos gustan!
  • Es un desafío muy divertido.
  • Además es un reto porque los videojuegos son a veces complejos de programar.
  • Son un buen recurso para el aprendizaje porque estimulan la actividad del estudiante.



Icon objectives.jpg

Objetivos

Al final de este bloque serás capaz de:

  • Desarrollar minijuegos en 2D con Pygame
  • Modificar juegos escritos con Python y Pygame
  • Usar pygame como herramienta para motivar a la programación de tus alumnos.






Icon preknowledge.gif

Algunos coneptos básicos de programación en 2D

Conceptos Básicos de Programación 2D

Superficies

Las bibliotecas gráficas 2D se basan en el concepto de superficie (surface). Una superficie es un espacio en memoria donde guardar una imagen.

Blit

Las superficies se copian en otras superficies (blit) en una posición (coordenadas)

Flip

Las imágenes se componen por blit en un buffer en segundo plano, con flip se actualiza el monitor.

  • Si se dibuja directamente sobre la pantalla, se verá un parpadeo por retraso en el refresco vertical (VSINC)
Doble buffer
Se copian las imágenes sobre una superficie y después se dibujan sobre la tarjeta gráfica
Dirty Rectangles
Se copian sólo las áreas de la pantalla que han cambiado

Sprites

Un Sprite es cualquier objeto que aparece en nuestro videojuego. Normalmente suelen ser sus personajes. Todo sprite tiene una imagen y una posición. Las imágenes de los Sprites suelen tener una parte transparente, que se marca con el canal alfa (un buffer que indica qué partes de la imagen son transparentes y cuáles opacas). También se puede utilizar un color key, o color base, que se interpretará como transparente.

Pixel

Es el elemento mas básico en la programación gráfica: un elemento de una imagen que representa la unidad mínima que esta puede contener, básicamente lo podríamos definir como un simple punto que forma parte de una imagen definida que tiene asociado un color.

BITMAP (Mapa de Bits)

Un Bitmap básicamente es una cuadricula de pixeles que tiene atributos como ancho y alto (la cual se mide en numero de pixeles) y tiene asociado algún formato ya sea bmp, png, jpg, gif, etc. La diferencia entre los formatos se da por algunos parámetros tales como calidad y tamaño de archivo, por ejemplo si queremos mantener tamaño/calidad, los formato que se ajustan son png y jpg, pero acarrean un problema, ya que usan algoritmos de conprecion trabajar directamente con ellos consume mucho recursos por lo que se debe hacer una conversión a un formato mas simple da el caso del bmp, tif, etc.

BPP (Bits por Pixel)

Otra características de las imágenes es la profundidad de colores. (números de bits que se usan para representar un color en particular), el numero de bits que podemos utilizar es de 2, 8, 16, 24, 32 (como ven todo en potencias de 2) siendo 32 bits la mas alta resolución posible. El numero de combinaciones posibles se calcula de la siguiente forma: