def desenha_circulo(x, y, raio):
"""Desenha um círculo nas coordenadas especificadas.
Args:
x: Coordenada x do centro do círculo.
y: Coordenada y do centro do círculo.
raio: Raio do círculo.
"""
pygame.draw.circle(tela, cor, (x, y), raio)
def desenha_pincel(x, y, raio):
"""Desenha um círculo contínuo enquanto o botão esquerdo do mouse estiver pressionado.
Args:
x: Coordenada x do centro do círculo.
y: Coordenada y do centro do círculo.
raio: Raio do círculo.
"""
global estado_botao
if estado_botao:
desenha_circulo(x, y, raio)
x += raio
def main():
"""Função principal."""
global estado_botao
pygame.init()
tela = pygame.display.set_mode((640, 480))
cor = (255, 0, 0)
raio = 10
estado_botao = False
while True:
for evento in pygame.event.get():
if evento.type == pygame.QUIT:
pygame.quit()
exit()
elif evento.type == pygame.MOUSEBUTTONDOWN and evento.button == 1:
estado_botao = True
elif evento.type == pygame.MOUSEBUTTONUP and evento.button == 1:
estado_botao = False
tela.fill((0, 0, 0))
desenha_pincel(pygame.mouse.get_pos()[0], pygame.mouse.get_pos()[1], raio)
pygame.display.update()
if __name__ == "__main__":
main()
Esse código funciona da seguinte forma:
A função desenha_circulo() desenha um círculo nas coordenadas especificadas.
A função desenha_pincel() desenha um círculo contínuo enquanto o botão esquerdo do mouse estiver pressionado.
A variável estado_botao armazena o estado do botão esquerdo do mouse.
O loop infinito verifica se o botão esquerdo do mouse está pressionado.
Se o botão esquerdo do mouse estiver pressionado, a função desenha_pincel() é chamada.
A posição do cursor do mouse é atualizada.
O loop é finalizado.
Para testar o código, basta abrir o arquivo desenha_pincel.py em um editor de texto e executá-lo. Em seguida, clique e arraste o mouse na tela para desenhar um círculo.