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:27] 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 166: | Línea 167: | ||
| === Clipping === | === Clipping === | ||
| - | * Surface.set_clip - set the current clipping area of the Surface. | + | 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 190: | Línea 195: | ||
| pygame.display.update() | pygame.display.update() | ||
| </code> | </code> | ||
| + | |||
| Línea 230: | Línea 236: | ||
| + | ==== 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. | ||