Carregar um Som
Parte da seção Som e sensação de jogo do Journey de Pygame da Coddy. Lição 1 de 23.
pygame reproduz sons curtos por meio de pygame.mixer.Sound. Passe o caminho de um arquivo de som e você obterá um objeto Sound:
jump_sound = pygame.mixer.Sound("assets/sounds/jump.ogg")pygame.init() inicia o mixer, então crie seus objetos Sound depois disso. Crie cada objeto Sound uma única vez, antes do loop. O carregamento lê o arquivo do disco; dentro do loop, ele o leria 60 vezes por segundo.
Quando chegar a hora, chame play():
jump_sound.play()play() inicia o som e retorna imediatamente. O jogo continua rodando enquanto você o ouve, e o mesmo objeto Sound pode tocar novamente antes de terminar.
A pasta assets/sounds/ contém os sons que você pode usar: jump, coin, powerup, laser, explosion, hit e outros, todos arquivos .ogg. Abra a aba Assets ao lado do jogo para ouvi-los.
Desafio
FácilO quadrado verde pula quando você pressiona a barra de espaço. Faça com que ele reproduza um som:
- Antes do loop, carregue
assets/sounds/jump.oggemjump_sound. - Chame
jump_sound.play()onde o salto começa, ao lado despeed_y = -14.
Experimente você mesmo
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 as lições de Som e sensação de jogo
4Vibração da Tela e Flash de Impacto
Vibração da TelaFlash de ImpactoPausa no ImpactoMantenha a DiscriçãoPratique por conta própria: Playground de Pygame