I tasti muovono la luna
Fa parte della sezione Python in una finestra di gioco del percorso Pygame di Coddy. Lezione 11 di 32.
pygame.key.get_pressed() ti dice quali tasti sono tenuti premuti in questo frame. Memorizza il risultato una volta per frame, poi controlla un tasto:
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
moon_x = moon_x - 4
if keys[pygame.K_RIGHT]:
moon_x = moon_x + 4keys[pygame.K_LEFT] è True mentre il tasto Left è tenuto premuto e False altrimenti, quindi l’if sottostante viene eseguito a ogni frame in cui il tasto è premuto. Tieni premuto Right per un secondo e la luna si sposta di 240 pixel.
Ogni tasto ha un nome: K_UP, K_DOWN, K_SPACE, K_a per A, K_d per D.
Usa due if separati, uno per ogni tasto, così ciascun tasto viene verificato indipendentemente. Gli if vanno nella parte dedicata alle modifiche, dopo il ciclo degli eventi.
Sfida
FacileSposta la luna con i tasti freccia:
- Nella parte dedicata alle modifiche, leggi i tasti con
keys = pygame.key.get_pressed(). - Mentre tieni premuto il tasto freccia sinistra, sottrai 4 da
moon_x. - Mentre tieni premuto il tasto freccia destra, aggiungi 4 a
moon_x.
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.
moon_x = 320
moon_y = 240
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Modifica le cose qui, una volta per fotogramma.
screen.fill((20, 24, 48))
# Disegna qui, dopo aver riempito lo schermo.
pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Tutte le lezioni di Python in una finestra di gioco
Esercitati da solo: Playground Pygame