Charger un son
Fait partie de la section Son et sensations de jeu du Journey Pygame de Coddy. Leçon 1 sur 23.
pygame lit des sons courts avec pygame.mixer.Sound. Indiquez-lui le chemin d’un fichier son et vous obtenez un objet Sound :
jump_sound = pygame.mixer.Sound("assets/sounds/jump.ogg")pygame.init() démarre le mélangeur, alors créez vos objets Sound après cet appel. Créez chaque objet Sound une seule fois, avant la boucle. Le chargement lit le fichier sur le disque ; dans la boucle, il le lirait 60 fois par seconde.
Quand le moment arrive, appelez play() :
jump_sound.play()play() démarre le son et rend la main immédiatement. Le jeu continue de tourner pendant que vous l’entendez, et le même objet Sound peut être rejoué avant la fin du son.
Le dossier assets/sounds/ contient les sons que vous pouvez utiliser : jump, coin, powerup, laser, explosion, hit et bien d’autres, tous des fichiers .ogg. Ouvrez l’onglet Assets à côté du jeu pour les écouter.
Défi
FacileLe carré vert saute lorsque tu appuies sur la barre d’espace. Fais-lui jouer un son :
- Avant la boucle, charge
assets/sounds/jump.oggdansjump_sound. - Appelle
jump_sound.play()au moment où le saut commence, à côté despeed_y = -14.
Essayez vous-même
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()
Toutes les leçons de Son et sensations de jeu
4Tremblement de l’écran et flash d’impact
Tremblement de l’écranFlash d’impactArrêt sur impactRester subtilEntraînez-vous par vous-même : Playground Pygame