Musik och ljudeffekter är en viktig del av spelupplevelsen, så naturligtvis låter Pygame dig lägga till dem i ditt spel. Upptäck hur du lägger till bakgrundsmusik och hur du spelar upp ljudeffekter som svar på händelser i spelet. Ta också reda på hur du utför grundläggande funktioner som looping och justering av volym.
Skapa ett enkelt spel
Börja med att skapa ett enkelt spel där spelaren kan röra sig åt vänster och höger. För att skapa detta spel, installera Pygame-modulen med pip:
pip installera pygame
Importera och initiera Pygame-modulen och skapa ett fönster i storleken 500x500 med en bildtext. Initiera sedan variablerna x, y, bredd, höjd och vel för spelaren. Här är vel spelarens hastighet.
importera pygame
pygame.init()
window = pygame.display.set_mode((500,500))
pygame.display.set_caption("Enkelt spel")
x = 50
y = 50
bredd = 40
höjd = 60
vel = 5
springa = Sann
Efter det skapar du en while-loop som körs tills du stänger spelfönstret. Sök efter tangentbordsinmatning med metoden pygame.key.get_pressed(). Minska eller öka x-koordinaten om användaren trycker på antingen vänster eller höger piltangent. Rita sedan en rektangel med de givna koordinaterna och uppdatera displayen.
medan springa:
pygame.time.delay(100)för händelse i pygame.event.get():
om event.type == pygame. SLUTA MED:
springa = Falskkeys = pygame.key.get_pressed()
om nycklar[pygame. K_LEFT]:
x -= velom nycklar[pygame. K_RIGHT]:
x += velwindow.fill((0,0,0))
pygame.draw.rect (fönster, (255,0,0), (x, y, bredd, höjd))
pygame.display.update()
pygame.quit()
Lägga till bakgrundsmusik med hjälp av mixermodulen
Att lägga till bakgrundsmusik till ett spel är en enkel process med Mixer-modulen i Pygame. Börja med att skapa ett musikobjekt och ladda önskad musikfil. Du kan sedan justera volymen innan du spelar den. Här är ett exempel:
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play()
Du kan enkelt ladda ner upphovsrättsfri musik och ljudeffekter från olika webbplatser att experimentera med.
Lägga till ljudeffekter med simpleaudio-modulen
Du kan också lägga till ljudeffekter till ditt spel med hjälp av modulen simpleaudio. Använd detta kommando för att installera modulen:
pip installera simpleaudio
För att börja, importera simpleaudio-modulen och skapa ett WaveObject från ljudfilen.
importera enkelt ljud som sa
ljud = sa. WaveObject.from_wave_file('sound.wav')
Inom de befintliga kontrollerna för piltryckningar, anropa play()-metoden för att spela upp ett ljud när karaktären flyttar sig åt vänster eller höger:
om nycklar[pygame. K_LEFT]:
x -= vel
play = sound.play()
om nycklar[pygame. K_RIGHT]:
x += vel
play = sound.play()
Ytterligare funktioner som att spela musik och justera volymen
Du kan också implementera grundläggande effekter som att loopa musik med play()-funktionen och justera volymen med set_volume(). Funktionen set_volume() tar ett flytvärde mellan 0 och 1 som definierar volymen på musiken. Funktionen play() tar ett argument som anger hur många gånger musiken ska upprepas. Genom att ange -1 som argument kan du säga åt den att loopa musiken.
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play(-1)
ljud = sa. WaveObject.from_wave_file('sound.wav')
Lägg till två if-satser för att testa om användaren trycker på upp- eller nedpilen. Ställ in volymen på musiken till 1,0 om de trycker på uppåtpilen och 0,0 om de trycker på nedåtpilen.
om nycklar[pygame. K_UP]:
pygame.mixer.music.set_volume(1.0)
om nycklar[pygame. K_DOWN]:
pygame.mixer.music.set_volume(0.0)
Alternativa metoder för att lägga till musik och ljudeffekter
Du kan också använda andra metoder för att lägga till musik och ljudeffekter, som pygletmodulen. Nedan är kodavsnittet:
importera pyglet
musik = pyglet.media.load("bgmusic.wav")
music.play()
ljud = pyglet.media.load("sound.wav")
sound.play()
Det finns många fördelar med att använda tredjepartsmoduler som pyglet. De ger ett mer effektivt sätt att lägga till musik och ljudeffekter.
Du kan hitta all kod från exemplen i detta GitHub-förråd.
Öka användarnas engagemang i musik
Du kan använda musik och ljudeffekter för att öka användarens engagemang i ditt spel. Musik och ljudeffekter kan lägga till en känsla av fördjupning som kan göra ett spel mycket roligare. Du kan till och med använda dem på kreativa sätt som centrala spelmekaniker.