Deine eigene Funktion
Teil des Abschnitts Python in einem Spielfenster der Pygame-Journey von Coddy. Lektion 20 von 32.
Eine Funktion ist eine benannte Gruppe von Zeilen, die du jederzeit ausführen kannst. Mit def erstellst du eine:
def draw_star():
pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)def, der Name, runde Klammern und ein Doppelpunkt; der Funktionskörper wird darunter eingerückt. Beim Definieren einer Funktion wird nichts gezeichnet: Python merkt sich nur die Zeilen unter dem Namen.
Um sie auszuführen, rufst du die Funktion auf: Schreibe ihren Namen mit Klammern.
draw_star()Definiere Funktionen im Einrichtungsteil vor der Spielschleife und rufe sie in der Schleife dort auf, wo du sie brauchst. Du hast schon seit der ersten Lektion Funktionen aufgerufen: print() und pygame.draw.circle() sind ebenfalls Funktionen, die von anderen geschrieben wurden.
pygame.draw.line(screen, colour, start, end, width) zeichnet eine Linie zwischen zwei Punkten.
Aufgabe
MittelPlatziere den Stern in einer Funktion:
- Erstelle im Einrichtungsteil
def draw_star():und verschiebe die drei Sternlinien in den Funktionskörper. - Rufe im Zeichenteil
draw_star()auf. Der Stern erscheint wie zuvor bei (320, 240).
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 Dinge einmal pro Frame.
screen.fill((20, 24, 48))
# Zeichne hier, nachdem der Bildschirm gefüllt wurde.
pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Alle Lektionen in Python in einem Spielfenster
Übe selbstständig: Pygame-Playground