En este tutorial se explica cómo dibujar un círculo con Pygame (Pygame draw circle). Explicamos el comando que se utiliza y los parámetros que tiene para ajustar su tamaño, color, ancho de línea, etc.
Resumen.
Para poder dibujar un círculo con Pygame existe un comando especial. El comando es el siguiente:
pygame.draw.circle( superficie, color, Centro, radio )
Hay 4 parámetros principales que son:
- Superficie, es la superficie donde dibujaremos. Comúnmente se coloca la variable de la ventana del proyecto, que común mente llamamos “screen.”
- Color, Es el color del círculo. El formato es tipo RGB y podemos escribirlo en variables tipo truple, lista, etc. Contiene 3 valores enteros para el color y si requerimos trasparencia se coloca un cuarto elemento. El color blanco es (255,255,255), el color negro (0,0,0).
- Centro, es la ubicación en la pantalla del centro del círculo.
- Radio, es el radio del círculo en pixeles.
Con los parámetros anteriores se puede crear el circulo, pero existen otros parámetros para definir diferentes características.
pygame.draw.circle( superficie, color, centro, radio, width, arriba_der, arriba_izq, abajo_izq, abajo_der )
Esto hace dada parámetro:
- Width, es el ancho de la línea. Si es igual a 0, el círculo se rellena es la opción por default. Si es numero negativo, no se muestra nada y si es mayor a 0 es el grosor de la línea.
- Arriba_der, Es tipo booleana. Si es True se mostrará la parte superior derecha del círculo.
- Arriba_izq, Es tipo booleana. Si es True se mostrará la parte superior izquierda del círculo.
- Abajo_izq, Es tipo booleana. Si es True se mostrará la parte inferior derecha del círculo.
- Abajo_izq, Es tipo booleana. Si es True se mostrará la parte inferior izquierda del círculo.
Dibujando un circulo con Pygame (pygame draw circle)
A continuación te mostramos algunos ejemplos y como funcionan los distintos parámetros para dibujar un circulo con Pygame.
Primero crearemos una pantalla de 400 por 400 pixeles. Y colocaremos un círculo de Radio 30 en el centro de la pantalla, es decir la posición (200,200). El círculo será color Azul.
El código es el siguiente:
import sys import pygame from pygame.locals import * pygame.init() size = 400, 400 blanco = 255,255,255 azul = 0,0,255 screen = pygame.display.set_mode(size) screen.fill(blanco) pygame.draw.circle(screen, azul, (200,200), 30) # Loop del juego while True: pygame.display.update() for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() pygame.quit()
Así funciona el código:
- Primero importamos las librerías, luego inicializamos pygame.
- Después creamos variables para el tamaño de la pantalla (size), y los colores Blanco y azul.
- Enseguida creamos una variable que contiene la ventana o pantalla llamada “screen”, le damos el tamaño que habíamos definido y colocamos un fondo blanco.
- Luego dibujamos el círculo sobre la ventana, de color azul, en el centro y de radio igual a 30 pixeles.
- Por ultimo creamos un loop, para que la pantalla permanezca visible hasta que la cerremos.
Ejemplos con el comando para dibujar un circulo pygame.
Algunos ejemplos para entender mejor los parámetros del comando “draw circle”.
Si modificamos el ancho de la línea.
import sys import pygame from pygame.locals import * pygame.init() size = 400, 400 blanco = 255,255,255 negro = 0, 0, 0 rojo = 255, 0, 0 azul = 0, 0, 255 screen = pygame.display.set_mode(size) screen.fill(blanco) pygame.draw.circle(screen, negro, (100,200), 30, 0) pygame.draw.circle(screen, rojo, (200,200), 30, -4) pygame.draw.circle(screen, azul, (300,200), 30, 4,) # Loop del juego while True: pygame.display.update() for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() pygame.quit()
Vemos como el círculo negro esta rellenado, el círculo rojo no se muestra y el círculo azul solo se ve el contorno.
Vamos a modificar varios parámetros para ver los distintos resultados. Así entendemos mejor cual es la función de cada uno de los parámetros.
Y este es el código solo de cada uno de los círculos.
pygame.draw.circle(screen, negro, (100,100), 30, 4) pygame.draw.circle(screen, azul, (200,100), 30, 0) pygame.draw.circle(screen, rojo, (300,100), 30, 4, True) pygame.draw.circle(screen, negro, (100,200), 30,0, False, True) pygame.draw.circle(screen, rojo, (200,200), 30,0, False, True, True, True) pygame.draw.circle(screen, azul, (300,200), 30,0, False, False, True, True)
Para más tutoriales de Python ve a este enlace.
Algunos temas que te pueden interesar.