Python Arcade: reproducción de archivos de audio

En este artículo, aprenderemos cómo reproducir o agregar audio en nuestros juegos de Arcade usando Python.

Reproducir archivo de audio

En este ejemplo, queremos reproducir nuestro audio siempre que el reproductor toque el extremo izquierdo o derecho de la pantalla. Para ello, vamos a utilizar 2 funciones del módulo arcade.

  • arcade.load_sound(): Usaremos esta función para cargar nuestro archivo de audio.

Sintaxis: arcade.load_sound(file_path, streaming)

Parámetros:

file_path: Nombre del archivo de sonido a cargar.

streaming: booleano para determinar si transmitimos el sonido o lo cargamos todo en la memoria.

Devuelve: objeto de sonido que puede ser utilizado por la función play_sound().

  • arcade.play_sound(): Usaremos esta función para reproducir nuestro audio.

Sintaxis: arcade.play_sound(sonido, volumen, panorama, loop)

Parámetros:

  • sonido: Sonido cargado por load_sound()
  • volumen: volumen del sonido
  • pan: desde qué parte desea iniciar el audio (-1 = izquierda, 0 = centro y 1 = derecha)

En el siguiente ejemplo, vamos a crear una clase MainGame(). Dentro de esta clase primero, vamos a inicializar algunas variables para la velocidad, las coordenadas x e y del jugador y luego crearemos 2 funciones dentro de esta clase.

  • on_draw(): Dentro de esta función, dibujaremos nuestro reproductor y comenzaremos el renderizado.
  • on_update(): En esta función, actualizaremos las coordenadas x del sprite del jugador agregando la velocidad. Después de eso, si el reproductor cruza el límite de la pantalla, cambiaremos la dirección del movimiento y reproduciremos el audio usando la función play_sound().

A continuación se muestra la implementación:

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()

Producción:

Publicación traducida automáticamente

Artículo escrito por imranalam21510 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *