Círculos, líneas y polígonos
Parte de la sección El bucle del juego del Journey de Pygame de Coddy. Lección 9 de 32.
Hasta ahora has dibujado rectángulos. pygame.draw tiene más formas, y todas empiezan igual: la superficie sobre la que dibujar y, después, el color.
pygame.draw.circle(screen, (255, 196, 0), (100, 80), 30)
pygame.draw.line(screen, (240, 240, 240), (0, 200), (480, 200), 3)
pygame.draw.polygon(screen, (60, 200, 120), [(240, 40), (280, 120), (200, 120)])Un círculo recibe su centro y su radio. A diferencia de un rectángulo, se coloca por el centro, no por la esquina superior izquierda. Un radio de 30 crea un círculo de 60 píxeles de diámetro.
Una línea recibe sus dos puntos finales y, por último, su ancho en píxeles. Si no se indica un ancho, tiene 1 píxel de grosor.
Un polígono recibe una lista de puntos de las esquinas y rellena la forma entre ellos, uniendo el último punto con el primero. Tres puntos forman un triángulo; cuatro, un rombo.
Desafío
FácilDibuja un velero en el mar, después del relleno:
- El sol: un círculo amarillo
(255, 196, 0)centrado en(380, 80)con un radio de40. - El mar: una línea azul
(80, 160, 255)desde(0, 280)hasta(480, 280), de4píxeles de grosor. - La vela: un polígono rojo
(235, 80, 80)con vértices(240, 120),(240, 250)y(160, 250).
Pruébalo tú mismo
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Sailboat")
clock = pygame.time.Clock()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
# dibuja el sol, el mar y la vela aquí
pygame.display.flip()
clock.tick(60)
pygame.quit()
Todas las lecciones de El bucle del juego
1Mueve un cuadrado
Abre una ventanaRellena el fondo4Movimiento basado en el tiempo
Tiempo deltaPíxeles por segundoVector2Aceleración y fricciónReaparecer al otro lado de la pantalla2Formas y colores
Círculos, líneas y polígonosContornos y esquinasUna escena de formasColores que cambianPractica por tu cuenta: Playground de Pygame