Hudba a zvukové efekty sú dôležitou súčasťou herného zážitku, takže Pygame vám ich samozrejme umožňuje pridať do vašej hry. Zistite, ako pridať hudbu na pozadí a ako prehrávať zvukové efekty v reakcii na udalosti v hre. Zistite tiež, ako vykonávať základné operácie, ako je slučkovanie a úprava hlasitosti.
Vytvorenie jednoduchej hry
Začnite vytvorením jednoduchej hry, v ktorej sa hráč môže pohybovať doľava a doprava. Ak chcete vytvoriť túto hru, nainštalujte modul Pygame pomocou pip:
pip install pygame
Importujte a inicializujte modul Pygame a vytvorte okno s veľkosťou 500x500 s popisom. Potom inicializujte premenné x, y, width, height a vel pre prehrávač. Tu vel je rýchlosť hráča.
importovať pygame
pygame.init()
okno = pygame.display.set_mode((500,500))
pygame.display.set_caption("Jednoduchá hra")
x = 50
y = 50
šírka = 40
výška = 60
vel = 5
bežať = Pravda
Potom vytvorte slučku while, ktorá bude prebiehať, kým nezatvoríte okno hry. Skontrolujte vstup z klávesnice pomocou metódy pygame.key.get_pressed(). Znížte alebo zväčšite súradnicu x, ak používateľ stlačí kláves so šípkou doľava alebo doprava. Potom nakreslite obdĺžnik s danými súradnicami a aktualizujte zobrazenie.
zatiaľ čo spustiť:
pygame.time.delay(100)pre udalosť v pygame.event.get():
ak event.type == pygame. UKONČIŤ:
bežať = Nepravdivékeys = pygame.key.get_pressed()
ak kľúče [pygame. K_LEFT]:
x -= velak kľúče [pygame. K_RIGHT]:
x += velwindow.fill((0,0,0))
pygame.draw.rect (okno, (255,0,0), (x, y, šírka, výška))
pygame.display.update()
pygame.quit()
Pridanie hudby na pozadí pomocou modulu mixéra
Pridanie hudby na pozadí do hry je jednoduchý proces s modulom Mixer v Pygame. Začnite vytvorením hudobného objektu a načítaním požadovaného hudobného súboru. Pred prehrávaním potom môžete upraviť hlasitosť. Tu je príklad:
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play()
Môžete ľahko stiahnite si hudbu a zvukové efekty bez autorských práv z rôznych webových stránok, s ktorými môžete experimentovať.
Pridávanie zvukových efektov pomocou jednoduchého zvukového modulu
Pomocou modulu simpleaudio môžete do hry pridať aj zvukové efekty. Na inštaláciu modulu použite tento príkaz:
pip install simpleaudio
Ak chcete začať, importujte modul simpleaudio a vytvorte objekt WaveObject zo zvukového súboru.
importovať jednoduchý zvuk ako sa
zvuk = sa. WaveObject.from_wave_file('sound.wav')
V rámci existujúcich kontrol stlačenia šípok zavolajte metódu play() na prehrávanie zvuku, keď sa postava pohybuje doľava alebo doprava:
ak kľúče [pygame. K_LEFT]:
x -= vel
play = sound.play()
ak kľúče [pygame. K_RIGHT]:
x += vel
play = sound.play()
Ďalšie funkcie, ako je opakovanie hudby a nastavenie hlasitosti
Môžete tiež implementovať základné efekty, ako je prehrávanie hudby v slučke pomocou funkcie play() a nastavenie hlasitosti pomocou set_volume(). Funkcia set_volume() má plávajúcu hodnotu medzi 0 a 1, ktorá definuje hlasitosť hudby. Funkcia play() berie argument, ktorý určuje počet opakovaní hudby. Odovzdaním -1 ako argumentu mu môžete povedať, aby zacyklil hudbu.
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play(-1)
zvuk = sa. WaveObject.from_wave_file('sound.wav')
Pridajte dva príkazy if, aby ste otestovali, či používateľ stlačí kláves so šípkou nahor alebo nadol. Nastavte hlasitosť hudby na 1,0, ak stlačia kláves so šípkou nahor, a na 0,0, ak stlačia kláves so šípkou nadol.
ak kľúče [pygame. K_UP]:
pygame.mixer.music.set_volume(1.0)
ak kľúče [pygame. K_DOWN]:
pygame.mixer.music.set_volume(0.0)
Alternatívne spôsoby pridávania hudby a zvukových efektov
Na pridanie hudby a zvukových efektov môžete použiť aj iné metódy, napríklad modul pyglet. Nižšie je uvedený útržok kódu:
importovať pyglet
hudba = pyglet.media.load("bgmusic.wav")
music.play()
zvuk = pyglet.media.load("sound.wav")
sound.play()
Existuje mnoho výhod používania modulov tretích strán, ako je napríklad pyglet. Poskytujú efektívnejší spôsob pridávania hudby a zvukových efektov.
Celý kód z príkladov nájdete v tomto úložisko GitHub.
Zvýšte zapojenie používateľov pomocou hudby
Hudbu a zvukové efekty môžete použiť na zvýšenie interakcie používateľov s vašou hrou. Hudba a zvukové efekty môžu pridať pocit ponorenia, vďaka čomu je hra oveľa príjemnejšia. Môžete ich dokonca použiť kreatívnym spôsobom ako základnú hernú mechaniku.