Menu
CoddyTech

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.

challenge icon

Sfida

Medio

Inserisci la stella in una funzione:

  1. Nella parte di configurazione, scrivi def draw_star(): e sposta le tre righe della stella nel suo corpo.
  2. 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