La tua funzione
Fa parte della sezione Python in una finestra di gioco del percorso Pygame di Coddy. Lezione 20 di 32.
Una funzione è un gruppo di righe con un nome che puoi eseguire quando vuoi. Per crearne una, usa 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, il nome, le parentesi tonde e i due punti; il corpo è indentato sotto. Definire una funzione non disegna nulla: Python si limita a ricordare le righe associate al nome.
Per eseguirla, chiama la funzione: scrivi il suo nome seguito dalle parentesi.
draw_star()Definisci le funzioni nella parte di configurazione, prima del ciclo di gioco, e chiamale nel ciclo dove ti servono. Hai chiamato funzioni fin dalla prima lezione: anche print() e pygame.draw.circle() sono funzioni, scritte da altri.
pygame.draw.line(screen, colour, start, end, width) disegna una linea tra due punti.
Sfida
MedioInserisci la stella in una funzione:
- Nella parte di configurazione, scrivi
def draw_star():e sposta le tre righe della stella nel suo corpo. - Nella parte di disegno, chiama
draw_star(). La stella appare in (320, 240) come prima.
Provalo tu
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Prepara tutto qui, prima del ciclo di gioco.
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Modifica le cose qui, una volta per ogni fotogramma.
screen.fill((20, 24, 48))
# Disegna qui, dopo il riempimento.
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()
Tutte le lezioni di Python in una finestra di gioco
Esercitati da solo: Playground Pygame