Python Arcade – Abspielen einer Audiodatei
In diesem Artikel erfahren Sie, wie Sie mit Python Audio in unseren Arcade-Spielen abspielen oder hinzufügen.
Audiodatei abspielen
In diesem Beispiel möchten wir unser Audio abspielen, wenn der Player das linke oder rechte Ende des Bildschirms berührt. Dazu verwenden wir 2 Funktionen des Arcade-Moduls.
- arcade.load_sound(): Wir werden diese Funktion verwenden, um unsere Audiodatei zu laden.
Syntax: arcade.load_sound(Dateipfad, Streaming)
Parameter:
file_path: Name der zu ladenden Sounddatei.
streaming : Boolescher Wert, um zu bestimmen, ob wir den Sound streamen oder alles in den Speicher laden.
Rückgabe: Sound-Objekt, das von der Funktion play_sound() verwendet werden kann.
- arcade.play_sound(): Wir werden diese Funktion verwenden, um unser Audio abzuspielen.
Syntax: arcade.play_sound(sound, volume, pan, loop)
Parameter:
- sound: Sound geladen von load_sound()
- Lautstärke: Lautstärke des Tons
- Pan: Von welchem Teil Sie das Audio starten möchten (-1= links, 0= Mitte und 1=rechts)
Im folgenden Beispiel erstellen wir eine MainGame()-Klasse. In dieser Klasse werden wir zuerst einige Variablen für die Geschwindigkeit, x- und y-Koordinaten des Spielers initialisieren, dann werden wir zwei Funktionen innerhalb dieser Klasse erstellen.
- on_draw(): Innerhalb dieser Funktion zeichnen wir unseren Player und starten das Rendern.
- on_update(): In dieser Funktion aktualisieren wir die x-Koordinaten des Sprites des Spielers, indem wir die Geschwindigkeit hinzufügen. Wenn der Spieler danach die Grenze des Bildschirms überschreitet, ändern wir die Richtung der Bewegung und spielen den Ton mit der Funktion play_sound() ab.
Nachfolgend die Umsetzung:
Python3
# Importing arcade module import arcade # Creating MainGame class class MainGame(arcade.Window): def __init__(self): super().__init__(600, 600, title="Player Movement") # Initializing the initial x and y coordinated self.x = 250 self.y = 250 # Initializing a variable to store # the velocity of the player self.vel = 300 # Creating on_draw() function to draw on the screen def on_draw(self): arcade.start_render() # Drawing the rectangle using # draw_rectangle_filled function arcade.draw_rectangle_filled(self.x, self.y,50, 50, arcade.color.GREEN ) # Creating on_update function to # update the x coordinate def on_update(self,delta_time): self.x += self.vel * delta_time # Changing the direction of # movement if player crosses the screen if self.x>=550 or self.x<=50: self.vel *= -1 # Loading the audio file audio = arcade.load_sound('Audio.mp3',False) # Printing "Playing Audio" print("Playing Audio.mp File") # Playing the audio arcade.play_sound(audio,1.0,-1,False) # Calling MainGame class MainGame() arcade.run()
Ausgabe: