Menu
CoddyTech

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.

challenge icon

Sfida

Facile

Il quadrato verde salta quando premi la barra spaziatrice. Fai in modo che riproduca un suono:

  1. Prima del ciclo, carica assets/sounds/jump.ogg in jump_sound.
  2. Chiama jump_sound.play() nel punto in cui inizia il salto, accanto a speed_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

Esercitati da solo: Playground Pygame