Herramientas de usuario

Herramientas del sitio


fw:pygame

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
fw:pygame [2009/11/02 12:15]
alfred
fw:pygame [2020/05/09 09:25] (actual)
Línea 1: Línea 1:
 ====== PyGame ====== ====== PyGame ======
 +
  
  
Línea 6: Línea 7:
 ===== Básico ===== ===== Básico =====
 PyGame se compone de distintos módulos que se utilizan para acceder a los distintos dispositivos o recursos que gestiona, estos son: PyGame se compone de distintos módulos que se utilizan para acceder a los distintos dispositivos o recursos que gestiona, estos son:
 +  * //​pygame.camera//​ - Acceso a la webcam.
   * //​pygame.cdrom//​ - Acceso a los lectores de cd.   * //​pygame.cdrom//​ - Acceso a los lectores de cd.
   * //​pygame.cursors//​ - Acceso al cursor.   * //​pygame.cursors//​ - Acceso al cursor.
Línea 86: Línea 88:
 </​code>​ </​code>​
   * {{fw:​pygame:​pygame01.rar|Ejemplo 01}}   * {{fw:​pygame:​pygame01.rar|Ejemplo 01}}
 +
 +
  
  
Línea 163: Línea 167:
  
 === Clipping === === Clipping ===
- +Es una técnica en la que se utiliza el método ''​surface.set_clip'',​ este indica qué porción de la surface se redibujará,​ de esta forma no se repinta toda la pantalla y el dibujado es más ágil. 
- +<code python> 
 +screen.set_clip((100,​10,​100,​90)) 
 +screen.fill((200,​200,​200)) 
 +</​code>​
  
 ==== Dibujar elementos simples ==== ==== Dibujar elementos simples ====
Línea 189: Línea 195:
     pygame.display.update()     pygame.display.update()
 </​code>​ </​code>​
 +
  
  
Línea 226: Línea 233:
   * El objeto correspondiente a un evento es el ''​pygame.event.Event''​. Su constructor recibe el tipo y un diccionario de los atributos.   * El objeto correspondiente a un evento es el ''​pygame.event.Event''​. Su constructor recibe el tipo y un diccionario de los atributos.
  
-==== Sprites ==== 
-Existe una clase en pygame denominada ''​pygame.sprite.Sprite''​ que puede ser usada como clase base para trabajar con sprites. ​ 
  
 +
 +
 +==== Dibujar texto ====
 +Para dibujar texto lo que utilizamos es la clase ''​pygame.font.Font'',​ a esta se le pasa por parámetros el fichero donde está la fuente (o sino ''​None''​ y cogerá el por defecto de la fuente) y el tamaño. Luego se utiliza el método ''​render''​ para dibujar el texto (devuelve una surface).
 +<code python>
 +font = pygame.font.Font(None,​ 37)
 +text = font.render('​Powered by Python and PyGame',​ True, (255, 255, 255), (159, 182, 205))
 +screen.blit(text,​ (100,210))
 +</​code>​
  
  
  
 ==== Transformaciones ==== ==== Transformaciones ====
 +Todos los métodos retornan una superficie nueva y destruyen la anterior.
 +  * ''​pygame.transform.flip(surface,​ xbool, ybool)'':​ Invierte una superficie en x o en y, se le pasa ''​True''​\''​False''​ com ''​xbool''​ o ''​ybool''​.
 +  * ''​pygame.transform.scale(surface,​ (width, height))'':​ Escala una superficie al tamaño indicado.
 +  * ''​pygame.transform.rotate(Surface,​ angle)'':​ Rota una superficie en el ángulo, expresado en grados, indicado.
 +  * ''​pygame.transform.rotozoom(Surface,​ angle, scale)'':​ Es una combinación de escalado y rotación. Se utiliza un algoritmo de antializing. El escalado se expresará en floats, si, por ejemplo su valor es 2.0 significará que se escala el doble.
 +  * ''​pygame.transform.scale2x(surface)'':​ Duplica la imágen en tamaño.
 +  * ''​pygame.transform.smoothscale(surface,​ (width, height))'':​ Hace un escalado smooth.
 +=== Y otras más técnicas ===
 +  * ''​pygame.transform.get_smoothscale_backend''​ y ''​pygame.transform.set_smoothscale_backend''​ para indicar el motor de escalado.
 +  * ''​pygame.transform.chop''​ elimina un área del interior de la imágen.
 +  * ''​pygame.transform.laplacian''​ encuentra los bordes internos de la surface.
 +  * ''​pygame.transform.average_surfaces''​
 +  * ''​pygame.transform.average_color'':​ Encuentra el color general de la imágen.
 +  * ''​pygame.transform.threshold'':​ Encuentra los píxels en la imágen son del color indicado.
 +
  
 ==== Controlar el tiempo ==== ==== Controlar el tiempo ====
Línea 300: Línea 329:
  
  
-==== Scrolling ====+
  
  
 ===== Notas ===== ===== Notas =====
 +  * Elementos que podrían estar bien mirarse: ''​sprite'',​ ''​camera''​ o ''​movie''​.
 +
  
 ==== Un ejemplo significativo ==== ==== Un ejemplo significativo ====
Línea 330: Línea 361:
     pygame.display.update()     pygame.display.update()
 </​code>​ </​code>​
 +==== Ejemplos ====
 +  * {{fw:​pygame:​scrolling.zip|Scrolling}},​ de [[http://​blog.shinylittlething.com/​2009/​08/​08/​pygame-parallax-scrolling-in-2d-games/​]].
 +
 ==== Otros... ==== ==== Otros... ====
 === GameObjects === === GameObjects ===
fw/pygame.1257164151.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)