Caricare un suono
Fa parte della sezione Suoni e sensazioni di gioco del percorso Pygame di Coddy. Lezione 1 di 23.
pygame riproduce suoni brevi tramite pygame.mixer.Sound. Passagli il percorso di un file audio e otterrai un oggetto Sound:
jump_sound = pygame.mixer.Sound("assets/sounds/jump.ogg")pygame.init() avvia il mixer, quindi crea i tuoi Sound dopo averlo chiamato. Crea ogni Sound una sola volta, prima del ciclo. Il caricamento legge il file dal disco; all'interno del ciclo lo leggerebbe 60 volte al secondo.
Quando arriva il momento, chiama play():
jump_sound.play()play() avvia il suono e restituisce il controllo immediatamente. Il gioco continua a funzionare mentre lo senti, e lo stesso Sound può essere riprodotto di nuovo prima che finisca.
La cartella assets/sounds/ contiene i suoni che puoi usare: jump, coin, powerup, laser, explosion, hit e altri, tutti file .ogg. Apri la scheda Assets accanto al gioco per ascoltarli.
Sfida
FacileIl quadrato verde salta quando premi la barra spaziatrice. Fai in modo che riproduca un suono:
- Prima del ciclo, carica
assets/sounds/jump.ogginjump_sound. - Chiama
jump_sound.play()nel punto in cui inizia il salto, accanto aspeed_y = -14.
Provalo tu
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Jump")
clock = pygame.time.Clock()
player = pygame.Rect(220, 280, 40, 40)
speed_y = 0
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE and player.bottom == 320:
speed_y = -14
speed_y += 1
player.y += speed_y
if player.bottom > 320:
player.bottom = 320
speed_y = 0
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (80, 80, 100), (0, 320, 480, 40))
pygame.draw.rect(screen, (90, 200, 120), player)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Tutte le lezioni di Suoni e sensazioni di gioco
1Effetti sonori
Caricare un suonoSuono al verificarsi di un eventoVolume del suonoSuoni e tasti tenuti premuti4Scuotimento dello schermo e flash all’impatto
Scuotimento dello schermoFlash all’impattoPausa all’impattoMantienilo discretoEsercitati da solo: Playground Pygame