Aggiunta di effetti sonori e musica in Pygame
La musica e gli effetti sonori sono una parte vitale dell’esperienza di gioco, quindi, naturalmente, Pygame ti consente di aggiungerli al tuo gioco. Scopri come aggiungere musica di sottofondo e come riprodurre effetti sonori in risposta agli eventi di gioco. Scopri anche come eseguire operazioni di base come il looping e la regolazione del volume.
Creazione di un gioco semplice
Inizia creando un semplice gioco in cui il giocatore può muoversi a destra ea sinistra. Per creare questo gioco, installa il modulo Pygame usando pip:
pip install pygame
Importa e inizializza il modulo Pygame e crea una finestra di dimensioni 500×500 con una didascalia. Quindi, inizializza le variabili x, y, width, height e vel per il player. Qui vel è la velocità del giocatore.
import pygame
pygame.init()
window = pygame.display.set_mode((500,500))
pygame.display.set_caption("Simple Game")
x = 50
y = 50
width = 40
height = 60
vel = 5
run = True
Successivamente, crea un ciclo while che viene eseguito fino a quando non chiudi la finestra di gioco. Controlla l’input da tastiera usando il metodo pygame.key.get_pressed(). Diminuire o aumentare la coordinata x se l’utente preme rispettivamente il tasto freccia sinistra o destra. Quindi, disegna un rettangolo con le coordinate date e aggiorna la visualizzazione.
while run:
pygame.time.delay(100)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= vel
if keys[pygame.K_RIGHT]:
x += vel
window.fill((0,0,0))
pygame.draw.rect(window, (255,0,0), (x, y, width, height))
pygame.display.update()
pygame.quit()
Aggiunta di musica di sottofondo utilizzando il modulo Mixer
L’aggiunta di musica di sottofondo a un gioco è un processo semplice con il modulo Mixer di Pygame. Inizia creando un oggetto musicale e caricando il file musicale desiderato. È quindi possibile regolare il volume prima di riprodurlo. Ecco un esempio:
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play()
Puoi facilmente scaricare musica ed effetti sonori senza copyright da diversi siti Web con cui sperimentare.
Aggiunta di effetti sonori utilizzando il modulo audio semplice
Puoi anche aggiungere effetti sonori al tuo gioco usando il modulo audio semplice. Per installare il modulo utilizzare questo comando:
pip install simpleaudio
Per iniziare, importa il modulo audio semplice e crea un WaveObject dal file audio.
import simpleaudio as sa
sound = sa.WaveObject.from_wave_file('sound.wav')
All’interno dei controlli esistenti per la pressione delle frecce, chiama il metodo play() per riprodurre un suono quando il personaggio si sposta a sinistra oa destra:
if keys[pygame.K_LEFT]:
x -= vel
play = sound.play()
if keys[pygame.K_RIGHT]:
x += vel
play = sound.play()
Funzionalità aggiuntive come la riproduzione in loop della musica e la regolazione del volume
Puoi anche implementare effetti di base come la musica in loop con la funzione play () e regolare il volume usando set_volume (). La funzione set_volume() accetta un valore float compreso tra 0 e 1 che definisce il volume della musica. La funzione play() accetta un argomento che specifica il numero di volte per ripetere la musica. Passando -1 come argomento, puoi dirgli di riprodurre in loop la musica.
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play(-1)
sound = sa.WaveObject.from_wave_file('sound.wav')
Aggiungere due istruzioni if per verificare se l’utente preme il tasto freccia su o giù. Imposta il volume della musica su 1.0 se premono il tasto freccia su e 0.0 se premono il tasto freccia giù.
if keys[pygame.K_UP]:
pygame.mixer.music.set_volume(1.0)
if keys[pygame.K_DOWN]:
pygame.mixer.music.set_volume(0.0)
Metodi alternativi per aggiungere musica ed effetti sonori
Puoi anche usare altri metodi per aggiungere musica ed effetti sonori, come il modulo pyglet. Di seguito è riportato lo snippet di codice:
import pyglet
music = pyglet.media.load("bgmusic.wav")
music.play()
sound = pyglet.media.load("sound.wav")
sound.play()
Ci sono molti vantaggi nell’usare moduli di terze parti come pyglet. Forniscono un modo più efficiente per aggiungere musica ed effetti sonori.
Aumenta il coinvolgimento degli utenti con la musica
Puoi utilizzare musica ed effetti sonori per aumentare il coinvolgimento degli utenti con il tuo gioco. La musica e gli effetti sonori possono aggiungere un senso di immersione che può rendere un gioco molto più divertente. Puoi persino usarli in modi creativi come meccaniche di gioco di base.
Lascia un commento