Círculos, Linhas e Polígonos
Parte da seção O loop do jogo do Journey de Pygame da Coddy. Lição 9 de 32.
Até agora, você desenhou retângulos. pygame.draw tem mais formas, e todas começam da mesma maneira: a superfície onde desenhar e, em seguida, a cor.
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)])Um círculo recebe o centro e o raio. Ao contrário de um retângulo, ele é posicionado pelo meio, não pelo canto superior esquerdo. Um raio de 30 resulta em um círculo com 60 pixels de diâmetro.
Uma linha recebe os dois pontos finais e, por último, a largura em pixels. Sem especificar a largura, ela tem 1 pixel de espessura.
Um polígono recebe uma lista de pontos dos vértices e preenche a forma entre eles, ligando o último ponto ao primeiro. Três pontos formam um triângulo; quatro, um losango.
Desafio
FácilDesenhe um veleiro no mar, após o preenchimento:
- O sol: um círculo amarelo
(255, 196, 0)centralizado em(380, 80)com raio40. - O mar: uma linha azul
(80, 160, 255)de(0, 280)até(480, 280), com4pixels de espessura. - A vela: um polígono vermelho
(235, 80, 80)com vértices em(240, 120),(240, 250)e(160, 250).
Experimente você mesmo
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))
# desenhe o sol, o mar e a vela aqui
pygame.display.flip()
clock.tick(60)
pygame.quit()
Todas as lições de O loop do jogo
Pratique por conta própria: Playground de Pygame