Własna funkcja
Część sekcji Python w oknie gry ścieżki Pygame w Coddy. Lekcja 20 z 32.
Funkcja to nazwana grupa wierszy, które możesz uruchomić, kiedy chcesz. Do jej utworzenia służy def:
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, nazwa, nawiasy okrągłe i dwukropek; treść funkcji jest wcięta poniżej. Zdefiniowanie funkcji niczego nie rysuje: Python tylko zapamiętuje wiersze przypisane do nazwy.
Aby je uruchomić, wywołaj funkcję: wpisz jej nazwę z nawiasami.
draw_star()Definiuj funkcje w części konfiguracyjnej, przed pętlą gry, a wywołuj je w pętli tam, gdzie ich potrzebujesz. Wywołujesz funkcje już od pierwszej lekcji: print() i pygame.draw.circle() też są funkcjami, napisanymi przez innych.
pygame.draw.line(screen, colour, start, end, width) rysuje linię między dwoma punktami.
Wyzwanie
ŚredniUmieść gwiazdę w funkcji:
- W części konfiguracji utwórz
def draw_star():i przenieś trzy linie rysujące gwiazdę do jej ciała. - W części rysowania wywołaj
draw_star(). Gwiazda pojawi się w punkcie (320, 240), tak jak wcześniej.
Spróbuj swoich sił
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Skonfiguruj wszystko tutaj, przed pętlą gry.
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Wprowadzaj tutaj zmiany raz na klatkę.
screen.fill((20, 24, 48))
# Rysuj tutaj, po wypełnieniu tła.
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()
Wszystkie lekcje w sekcji Python w oknie gry
Poćwicz samodzielnie: Edytor online Pygame