Musik og lydeffekter er en vital del af spiloplevelsen, så naturligvis giver Pygame dig mulighed for at tilføje dem til dit spil. Opdag, hvordan du tilføjer baggrundsmusik, og hvordan du afspiller lydeffekter som reaktion på begivenheder i spillet. Find også ud af, hvordan du udfører grundlæggende handlinger som looping og justering af lydstyrken.
Oprettelse af et simpelt spil
Begynd med at lave et simpelt spil, hvor spilleren kan bevæge sig til venstre og højre. For at skabe dette spil, installer Pygame-modulet ved hjælp af pip:
pip installer pygame
Importer og initialiser Pygame-modulet og opret et vindue i størrelsen 500x500 med en billedtekst. Initialiser derefter variablerne x, y, bredde, højde og vel for spilleren. Her er vel spillerens hastighed.
importere pygame
pygame.init()
vindue = pygame.display.set_mode((500,500))
pygame.display.set_caption("Simpelt spil")
x = 50
y = 50
bredde = 40
højde = 60
vel = 5
løb = Rigtigt
Derefter skal du oprette en while-løkke, der kører, indtil du lukker spilvinduet. Tjek for input fra tastaturet ved hjælp af pygame.key.get_pressed() metoden. Formindsk eller øg x-koordinaten, hvis brugeren trykker på henholdsvis venstre eller højre piletast. Tegn derefter et rektangel med de givne koordinater og opdater displayet.
mens løb:
pygame.time.delay(100)til begivenhed i pygame.event.get():
hvis event.type == pygame. AFSLUT:
løb = Falskkeys = pygame.key.get_pressed()
hvis nøgler[pygame. K_LEFT]:
x -= velhvis nøgler[pygame. K_RIGHT]:
x += velwindow.fill((0,0,0))
pygame.draw.rect (vindue, (255,0,0), (x, y, bredde, højde))
pygame.display.update()
pygame.quit()
Tilføjelse af baggrundsmusik ved hjælp af mixermodulet
Tilføjelse af baggrundsmusik til et spil er en simpel proces med Mixer-modulet i Pygame. Start med at oprette et musikobjekt og indlæse den ønskede musikfil. Du kan derefter justere lydstyrken, før du afspiller den. Her er et eksempel:
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play()
Du kan sagtens download ophavsretsfri musik og lydeffekter fra forskellige hjemmesider til at eksperimentere med.
Tilføjelse af lydeffekter ved hjælp af simpleaudio-modulet
Du kan også tilføje lydeffekter til dit spil ved hjælp af simpleaudio-modulet. Brug denne kommando for at installere modulet:
pip installer simpleaudio
For at begynde skal du importere simpleaudio-modulet og oprette et WaveObject fra lydfilen.
importere simpel lyd som sa
lyd = sa. WaveObject.from_wave_file('sound.wav')
Inden for de eksisterende kontroller for piletryk skal du kalde play()-metoden for at afspille en lyd, når karakteren bevæger sig til venstre eller højre:
hvis nøgler[pygame. K_LEFT]:
x -= vel
play = sound.play()
hvis nøgler[pygame. K_RIGHT]:
x += vel
play = sound.play()
Yderligere funktioner som Looping-musik og justering af lydstyrke
Du kan også implementere grundlæggende effekter såsom looping af musik med play()-funktionen og justering af lydstyrken ved hjælp af set_volume(). Funktionen set_volume() tager en flydende værdi mellem 0 og 1, som definerer musikkens lydstyrke. Funktionen play() tager et argument, der angiver det antal gange, musikken skal gentages. Ved at bruge -1 som argumentet kan du fortælle den, at den skal loope musikken.
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play(-1)
lyd = sa. WaveObject.from_wave_file('sound.wav')
Tilføj to if-sætninger for at teste, om brugeren trykker på pil op eller pil ned. Indstil lydstyrken for musikken til 1,0, hvis de trykker på pil op-tasten, og 0,0, hvis de trykker på pil-ned-tasten.
hvis nøgler[pygame. K_UP]:
pygame.mixer.music.set_volume(1.0)
hvis nøgler[pygame. K_DOWN]:
pygame.mixer.music.set_volume(0.0)
Alternative metoder til at tilføje musik og lydeffekter
Du kan også bruge andre metoder til at tilføje musik og lydeffekter, såsom pyglet-modulet. Nedenfor er kodestykket:
importere pyglet
musik = pyglet.media.load("bgmusic.wav")
music.play()
lyd = pyglet.media.load("sound.wav")
sound.play()
Der er mange fordele ved at bruge tredjepartsmoduler såsom pyglet. De giver en mere effektiv måde at tilføje musik og lydeffekter på.
Du kan finde al koden fra eksemplerne i denne GitHub-depot.
Øg brugerengagementet med musik
Du kan bruge musik og lydeffekter til at øge brugerens engagement i dit spil. Musik og lydeffekter kan tilføje en følelse af fordybelse, som kan gøre et spil meget sjovere. Du kan endda bruge dem på kreative måder som kernespilmekanik.