A zene és a hangeffektusok a játékélmény létfontosságú részét képezik, ezért a Pygame természetesen lehetővé teszi, hogy hozzáadja őket a játékhoz. Fedezze fel, hogyan adhat hozzá háttérzenét, és hogyan játszhat le hangeffektusokat a játékon belüli eseményekre reagálva. Azt is megtudhatja, hogyan kell elvégezni az alapvető műveleteket, például a hurkolást és a hangerő beállítását.
Egyszerű játék létrehozása
Kezdje egy egyszerű játék létrehozásával, amelyben a játékos balra és jobbra mozoghat. A játék létrehozásához telepítse a Pygame modult a pip segítségével:
pip install pygame
Importálja és inicializálja a Pygame modult, és hozzon létre egy 500x500 méretű ablakot felirattal. Ezután inicializálja a lejátszó x, y, szélesség, magasság és vel változóit. Itt vel a játékos sebessége.
import pygame
pygame.init()
window = pygame.display.set_mode((500,500))
pygame.display.set_caption("Egyszerű játék")
x = 50
y = 50
szélesség = 40
magasság = 60
vel = 5
futni = Igaz
Ezt követően hozzon létre egy while ciklust, amely a játékablak bezárásáig fut. Ellenőrizze a billentyűzet bevitelét a pygame.key.get_pressed() metódussal. Csökkentse vagy növelje az x koordinátát, ha a felhasználó megnyomja a bal vagy a jobb nyílbillentyűt. Ezután rajzoljon egy téglalapot a megadott koordinátákkal, és frissítse a kijelzőt.
míg fuss:
pygame.time.delay(100)számára esemény ban ben pygame.event.get():
ha event.type == pygame. KILÉPÉS:
futni = Hamiskeys = pygame.key.get_pressed()
ha kulcsok[pygame. K_LEFT]:
x -= velha kulcsok[pygame. K_RIGHT]:
x += velwindow.fill((0,0,0))
pygame.draw.rect (ablak, (255,0,0), (x, y, szélesség, magasság))
pygame.display.update()
pygame.quit()
Háttérzene hozzáadása a keverőmodul segítségével
A háttérzene hozzáadása a játékhoz egyszerű folyamat a Pygame Mixer moduljával. Kezdje egy zenei objektum létrehozásával, és töltse be a kívánt zenefájlt. Lejátszás előtt beállíthatja a hangerőt. Íme egy példa:
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play()
Könnyen lehet szerzői jogoktól mentes zene és hangeffektusok letöltése különböző webhelyekről kísérletezni.
Hangeffektusok hozzáadása az simpleaudio modul használatával
Hangeffektusokat is hozzáadhat játékához a simpleaudio modul segítségével. A modul telepítéséhez használja ezt a parancsot:
pip install simpleaudio
Kezdésként importálja az simpleaudio modult, és hozzon létre egy WaveObject-et a hangfájlból.
import egyszerű hang mint sa
hang = sa. WaveObject.from_wave_file("hang.wav")
A nyíllenyomások meglévő ellenőrzésén belül hívja meg a play() metódust egy hang lejátszásához, amikor a karakter balra vagy jobbra mozog:
ha kulcsok[pygame. K_LEFT]:
x -= vel
lejátszás = hang.play()
ha kulcsok[pygame. K_RIGHT]:
x += vel
lejátszás = hang.play()
További funkciók, mint például a zene hurkolása és a hangerő beállítása
Olyan alapvető effektusokat is megvalósíthat, mint a zene hurkolása a play() függvénnyel, és a hangerő beállítása a set_volume() segítségével. A set_volume() függvény 0 és 1 közötti lebegő értéket vesz fel, amely meghatározza a zene hangerejét. A play() függvény egy argumentumot vesz fel, amely megadja, hogy hányszor kell megismételni a zenét. A -1 argumentumként való átadásával megmondhatja neki, hogy hurkolja a zenét.
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play(-1)
hang = sa. WaveObject.from_wave_file("hang.wav")
Adjon hozzá két if utasítást annak teszteléséhez, hogy a felhasználó megnyomja-e a fel vagy le nyílbillentyűt. Állítsa a zene hangerejét 1,0-ra, ha megnyomja a felfelé mutató billentyűt, és 0,0-ra, ha megnyomja a lefelé mutató nyilat.
ha kulcsok[pygame. K_UP]:
pygame.mixer.music.set_volume(1.0)
ha kulcsok[pygame. K_DOWN]:
pygame.mixer.music.set_volume(0.0)
Alternatív módszerek zene és hangeffektusok hozzáadására
Más módszereket is használhat zene és hangeffektusok hozzáadásához, például a pyglet modult. Alább látható a kódrészlet:
import kiskakas
zene = pyglet.media.load("bgmusic.wav")
music.play()
hang = pyglet.media.load("hang.wav")
sound.play()
A harmadik féltől származó modulok, például a pyglet használatának számos előnye van. Hatékonyabb módot biztosítanak zene és hangeffektusok hozzáadására.
A példákban szereplő összes kódot megtalálja ebben GitHub adattár.
Növelje a felhasználók elköteleződését a zenével
Zene és hangeffektusok segítségével növelheti a felhasználók elköteleződését a játékban. A zene és a hangeffektusok elmerülhetnek, ami sokkal élvezetesebbé teheti a játékot. Akár kreatív módon is használhatod őket alapvető játékmechanizmusként.