Posiziona le stelle
Fa parte della sezione Python in una finestra di gioco del percorso Pygame di Coddy. Lezione 29 di 32.
Le ultime quattro lezioni costruiscono un piccolo gioco, Night Sky: fai clic per posizionare le stelle, che scintillano; un contatore mostra quante sono e, quando arrivano a venti, il cielo è pieno. Ogni lezione parte dal codice scritto nella lezione precedente.
Il gioco usa ciò che hai imparato in questa sezione. Le stelle sono un elenco di posizioni, inizialmente vuoto prima del ciclo di gioco. Un clic aggiunge la posizione all’elenco e un ciclo for disegna ogni stella dell’elenco a ogni fotogramma:
stars = []
if event.type == pygame.MOUSEBUTTONDOWN:
stars.append(event.pos)
for star in stars:
pygame.draw.circle(screen, (255, 255, 255), star, 3)Disegna le stelle dopo la luna e il terreno, così appaiono in primo piano. Una stella posizionata sulla luna si troverà quindi davanti a essa, come se fosse più vicina.
Sfida
FacileAvvia Night Sky:
- Crea
stars = []prima del ciclo di gioco. - In caso di evento
MOUSEBUTTONDOWN, aggiungievent.posastars. - Dopo la luna e il terreno, disegna ogni stella come un cerchio bianco
(255, 255, 255)di raggio 3.
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 gli elementi qui, una volta per fotogramma.
screen.fill((20, 24, 48))
# Disegna qui, dopo aver riempito lo schermo.
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()
Tutte le lezioni di Python in una finestra di gioco
Esercitati da solo: Playground Pygame