Contornos y esquinas
Parte de la sección El bucle del juego del Journey de Pygame de Coddy. Lección 10 de 32.
Hasta ahora, todas las formas estaban rellenas. Asigna un ancho a una forma y pygame dibujará solo su borde, con ese grosor en píxeles:
pygame.draw.rect(screen, (240, 240, 240), (100, 100, 120, 60), 2)
pygame.draw.circle(screen, (240, 240, 240), (300, 130), 30, 2)Un ancho de 0, o no especificar ningún ancho, rellena la forma. Esto funciona igual con rectángulos, círculos y polígonos.
Los rectángulos también pueden tener las esquinas redondeadas. border_radius es el radio de la curva de cada esquina, en píxeles. Pásalo por nombre, después de los demás argumentos:
pygame.draw.rect(screen, (80, 160, 255), (100, 200, 120, 60), border_radius=10)Los botones, paneles y barras de salud suelen usar ambas cosas: una caja rellena y con las esquinas redondeadas, con un contorno fino alrededor.
Desafío
FácilConvierte el recuadro en un botón:
- Dale al recuadro azul
border_radius=12. - Después, dibuja un contorno blanco
(240, 240, 240)en(130, 130, 220, 80), de3píxeles de ancho, conborder_radius=16.
Pruébalo tú mismo
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Button")
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))
pygame.draw.rect(screen, (80, 160, 255), (140, 140, 200, 60))
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