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: