Platziere die Sterne
Teil des Abschnitts Python in einem Spielfenster der Pygame-Journey von Coddy. Lektion 29 von 32.
Die letzten vier Lektionen bauen ein kleines Spiel, Night Sky: Du klickst, um Sterne zu platzieren, sie funkeln, ein Zähler zeigt an, wie viele es sind, und bei zwanzig ist der Himmel voll. Jede Lektion baut auf deinem Code aus der vorherigen auf.
Das Spiel verwendet, was in diesem Abschnitt vermittelt wurde. Die Sterne sind eine Liste von Positionen, die vor der Spielschleife leer erstellt wird. Ein Klick fügt seine Position hinzu, und eine for-Schleife zeichnet in jedem Frame jeden Stern in der Liste:
stars = []
if event.type == pygame.MOUSEBUTTONDOWN:
stars.append(event.pos)
for star in stars:
pygame.draw.circle(screen, (255, 255, 255), star, 3)Zeichne die Sterne nach dem Mond und dem Boden, damit sie darüber liegen. Ein Stern, der auf dem Mond platziert wird, liegt dann davor, als wäre er näher.
Aufgabe
EinfachStarte den Nachthimmel:
- Erstelle
stars = []vor der Spielschleife. - Füge bei einem
MOUSEBUTTONDOWN-Ereignisevent.poszustarshinzu. - Zeichne nach dem Mond und dem Boden jeden Stern als weißen Kreis mit dem Radius 3 und der Farbe
(255, 255, 255).
Probier es selbst
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Richte hier alles ein, bevor die Spielschleife beginnt.
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Ändere hier die Dinge einmal pro Frame.
screen.fill((20, 24, 48))
# Zeichne hier, nachdem der Hintergrund gefüllt wurde.
pygame.draw.circle(screen, (240, 230, 160), (560, 80), 40)
pygame.draw.rect(screen, (14, 16, 30), (0, 430, 640, 50))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Alle Lektionen in Python in einem Spielfenster
Übe selbstständig: Pygame-Playground