Menu
CoddyTech

Cargar un sonido

Parte de la sección Sonido y sensaciones del juego del Journey de Pygame de Coddy. Lección 1 de 23.

pygame reproduce sonidos cortos mediante pygame.mixer.Sound. Pásale la ruta de un archivo de sonido y obtendrás un objeto Sound:

jump_sound = pygame.mixer.Sound("assets/sounds/jump.ogg")

pygame.init() inicia el mezclador, así que crea tus sonidos después. Crea cada Sound una sola vez, antes del bucle. La carga lee el archivo del disco; dentro del bucle lo leería 60 veces por segundo.

Cuando llegue el momento, llama a play():

jump_sound.play()

play() inicia el sonido y regresa de inmediato. El juego sigue ejecutándose mientras lo escuchas, y el mismo Sound puede reproducirse de nuevo antes de que termine.

La carpeta assets/sounds/ contiene los sonidos que puedes usar: salto, moneda, potenciador, láser, explosión, impacto y más; todos son archivos .ogg. Abre la pestaña Assets junto al juego para escucharlos.

challenge icon

Desafío

Fácil

El cuadrado verde salta cuando presionas la barra espaciadora. Haz que reproduzca un sonido:

  1. Antes del bucle, carga assets/sounds/jump.ogg en jump_sound.
  2. Llama a jump_sound.play() donde comienza el salto, junto a speed_y = -14.

Pruébalo tú mismo

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Jump")
clock = pygame.time.Clock()

player = pygame.Rect(220, 280, 40, 40)
speed_y = 0

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_SPACE and player.bottom == 320:
                speed_y = -14

    speed_y += 1
    player.y += speed_y
    if player.bottom > 320:
        player.bottom = 320
        speed_y = 0

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (80, 80, 100), (0, 320, 480, 40))
    pygame.draw.rect(screen, (90, 200, 120), player)
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Todas las lecciones de Sonido y sensaciones del juego

Practica por tu cuenta: Playground de Pygame