Umrisse und Ecken
Teil des Abschnitts Die Spielschleife der Pygame-Journey von Coddy. Lektion 10 von 32.
Bisher war jede Form ausgefüllt. Gib einer Form eine Breite, und pygame zeichnet nur ihren Rand, der so viele Pixel dick ist:
pygame.draw.rect(screen, (240, 240, 240), (100, 100, 120, 60), 2)
pygame.draw.circle(screen, (240, 240, 240), (300, 130), 30, 2)Eine Breite von 0 oder gar keine Breite füllt die Form aus. Das funktioniert bei Rechtecken, Kreisen und Polygonen auf dieselbe Weise.
Rechtecke können auch abgerundete Ecken haben. border_radius ist der Radius der Kurve jeder Ecke, in Pixeln. Übergib ihn nach den anderen Argumenten mit seinem Namen:
pygame.draw.rect(screen, (80, 160, 255), (100, 200, 120, 60), border_radius=10)Schaltflächen, Bedienfelder und Lebensleisten verwenden oft beides: ein ausgefülltes, abgerundetes Rechteck mit einem dünnen Umriss.
Aufgabe
EinfachVerwandle das Kästchen in einen Button:
- Gib dem blauen Kästchen
border_radius=12. - Zeichne danach eine weiße Umrandung mit
(240, 240, 240)bei(130, 130, 220, 80),3Pixel breit, mitborder_radius=16.
Probier es selbst
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()
Alle Lektionen in Die Spielschleife
2Formen und Farben
Kreise, Linien, VieleckeUmrisse und EckenEine Szene aus FormenFarben, die sich ändernÜbe selbstständig: Pygame-Playground