Hudba a zvukové efekty jsou důležitou součástí herního zážitku, takže je přirozeně Pygame umožňuje přidat je do vaší hry. Objevte, jak přidat hudbu na pozadí a jak přehrávat zvukové efekty v reakci na události ve hře. Zjistěte také, jak provádět základní operace, jako je smyčka a úprava hlasitosti.
Vytvoření jednoduché hry
Začněte vytvořením jednoduché hry, kde se hráč může pohybovat doleva a doprava. Chcete-li vytvořit tuto hru, nainstalujte modul Pygame pomocí pip:
pip nainstalovat pygame
Importujte a inicializujte modul Pygame a vytvořte okno o velikosti 500x500 s popiskem. Poté inicializujte proměnné x, y, width, height a vel pro přehrávač. Zde vel je rychlost hráče.
import pygame
pygame.init()
window = pygame.display.set_mode((500,500))
pygame.display.set_caption("Jednoduchá hra")
x = 50
y = 50
šířka = 40
výška = 60
vel = 5
běh = Skutečný
Poté vytvořte smyčku while, která běží, dokud nezavřete okno hry. Zkontrolujte vstup z klávesnice pomocí metody pygame.key.get_pressed(). Pokud uživatel stiskne levou nebo pravou šipku, snižte nebo zvětšete souřadnici x. Poté nakreslete obdélník s danými souřadnicemi a aktualizujte zobrazení.
zatímco běh:
pygame.time.delay(100)pro událost v pygame.event.get():
-li event.type == pygame. PŘESTAT:
běh = Nepravdivékeys = pygame.key.get_pressed()
-li klíče [pygame. K_LEFT]:
x -= vel-li klíče [pygame. K_RIGHT]:
x += velwindow.fill((0,0,0))
pygame.draw.rect (okno, (255,0,0), (x, y, šířka, výška))
pygame.display.update()
pygame.quit()
Přidání hudby na pozadí pomocí modulu Mixer
Přidání hudby na pozadí do hry je jednoduchý proces s modulem Mixer v Pygame. Začněte vytvořením hudebního objektu a načtením požadovaného hudebního souboru. Před přehráváním pak můžete upravit hlasitost. Zde je příklad:
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play()
Můžete snadno stahujte hudbu a zvukové efekty bez autorských práv z různých webů, se kterými můžete experimentovat.
Přidání zvukových efektů pomocí jednoduchého audio modulu
Pomocí modulu simpleaudio můžete do hry přidat také zvukové efekty. Pro instalaci modulu použijte tento příkaz:
pip install simpleaudio
Pro začátek importujte simpleaudio modul a vytvořte WaveObject ze zvukového souboru.
import jednoduchý zvuk tak jako sa
zvuk = sa. WaveObject.from_wave_file('sound.wav')
V rámci stávajících kontrol stisknutí šipek zavolejte metodu play(), která přehraje zvuk, když se postava pohne doleva nebo doprava:
-li klíče [pygame. K_LEFT]:
x -= vel
play = sound.play()
-li klíče [pygame. K_RIGHT]:
x += vel
play = sound.play()
Další funkce, jako je opakování hudby a nastavení hlasitosti
Můžete také implementovat základní efekty, jako je opakování hudby pomocí funkce play() a nastavení hlasitosti pomocí set_volume(). Funkce set_volume() má plovoucí hodnotu mezi 0 a 1, která definuje hlasitost hudby. Funkce play() přebírá argument, který určuje, kolikrát se má hudba opakovat. Předáním -1 jako argumentu mu můžete říct, aby opakoval 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')
Přidejte dva příkazy if a otestujte, zda uživatel stiskne klávesu se šipkou nahoru nebo dolů. Nastavte hlasitost hudby na 1,0, pokud stisknou tlačítko se šipkou nahoru, a na 0,0, pokud stisknou tlačítko se šipkou dolů.
-li klíče [pygame. K_UP]:
pygame.mixer.music.set_volume(1.0)
-li klíče [pygame. K_DOWN]:
pygame.mixer.music.set_volume(0.0)
Alternativní metody přidání hudby a zvukových efektů
Pro přidání hudby a zvukových efektů můžete použít i jiné metody, jako je modul pyglet. Níže je fragment kódu:
import pyglet
hudba = pyglet.media.load("bgmusic.wav")
music.play()
zvuk = pyglet.media.load("sound.wav")
sound.play()
Existuje mnoho výhod používání modulů třetích stran, jako je pyglet. Poskytují efektivnější způsob přidávání hudby a zvukových efektů.
Celý kód z příkladů najdete v tomto úložiště GitHub.
Zvyšte zapojení uživatelů pomocí hudby
Pomocí hudby a zvukových efektů můžete zvýšit zapojení uživatelů do vaší hry. Hudba a zvukové efekty mohou dodat pocit ponoření, díky kterému je hra mnohem příjemnější. Můžete je dokonce použít kreativním způsobem jako základní herní mechanismy.