Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

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

instagram viewer

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 = Falsk

keys = pygame.key.get_pressed()

hvis nøgler[pygame. K_LEFT]:
x -= vel

hvis nøgler[pygame. K_RIGHT]:
x += vel

window.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.