Dibujar un círculo en Pygame

Maxim Maeder 15 febrero 2024
  1. Dibujar un círculo en Pygame
  2. Dibujar un semicírculo en Pygame
Dibujar un círculo en Pygame

Este tutorial te enseña a dibujar círculos en Pygame.

El código que se muestra aquí no es el código completo para una ventana de Pygame válida. Si está interesado en un marco básico, consulte este artículo.

Dibujar un círculo en Pygame

Para dibujar un círculo, solo necesitamos el método pygame.draw.circle, que proporcionará los siguientes argumentos: Superficie, Color, Centro, Radio. El primero es solo la superficie en la que queremos dibujarlo.

Lo dibujamos en la pantalla en nuestro ejemplo, pero podemos usar cualquier superficie. Luego, definimos el color de forma RGB con una matriz.

Continuamos definiendo la posición del centro del círculo en la superficie mencionada anteriormente. Por último, pero no menos importante, definimos el radio.

Tenga en cuenta que este código se ejecuta en el bucle principal de nuestro juego.

Fragmento de código:

pygame.draw.circle(
    screen,  # Surface to draw on
    [100, 100, 100],  # Color in RGB Fashion
    [100, 100],  # Center
    20,  # Radius
)

Producción:

Dibujar un círculo en Pygame - Salida

Dibujar un semicírculo en Pygame

Tal vez quieras hacer un semicírculo. También podemos hacer esto con el método pygame.draw.circle.

Solo necesitamos proporcionar más argumentos, que son: dibujar_arriba_derecha, dibujar_arriba_izquierda, dibujar_abajo_izquierda, dibujar_abajo_derecha. Como su nombre indica, definen si este trimestre se sorteará o no.

Es por eso que aquí trabajamos con booleanos. Cuando definimos uno de ellos como true, los demás no se dibujarán, pero podemos definir múltiples esquinas simultáneamente.

El siguiente código dibujará la parte superior del círculo.

Fragmento de código:

pygame.draw.circle(
    screen,  # Surface to draw on
    [100, 100, 100],  # Color in RGB Fashion
    [100, 100],  # Center
    20,  # Radius
    draw_top_right=True,
    draw_top_left=True,
)

Producción:

Dibuja un semicírculo en Pygame - Salida

Código de ejemplo completo

# Imports
import sys
import pygame

# Configuration
pygame.init()
fps = 60
fpsClock = pygame.time.Clock()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

# Game loop.
while True:
    screen.fill((20, 20, 20))
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    pygame.draw.circle(
        screen,  # Surface to draw on
        [100, 100, 100],  # Color in RGB Fashion
        [100, 100],  # Center
        20,  # Radius
        draw_top_right=True,
        draw_top_left=True,
    )

    pygame.display.flip()
    fpsClock.tick(fps)
Maxim Maeder avatar Maxim Maeder avatar

Hi, my name is Maxim Maeder, I am a young programming enthusiast looking to have fun coding and teaching you some things about programming.

GitHub

Artículo relacionado - Pygame Draw