Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
fw:pygame [2009/11/02 12:17] alfred |
fw:pygame [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 88: | Línea 88: | ||
| </code> | </code> | ||
| * {{fw:pygame:pygame01.rar|Ejemplo 01}} | * {{fw:pygame:pygame01.rar|Ejemplo 01}} | ||
| + | |||
| + | |||
| Línea 165: | 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 191: | Línea 195: | ||
| pygame.display.update() | pygame.display.update() | ||
| </code> | </code> | ||
| + | |||
| Línea 228: | 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. | ||
| + | |||
| + | |||
| + | |||
| + | ==== 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 299: | 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 329: | 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 === | ||