J'essaie d'obtenir de la musique de fond pour mon jeu, mais je n'arrive pas à le comprendre parfaitement. J'ai utilisé pygame dans le passé, mais c'était seulement pour une chanson au générique de mon jeu. Je souhaite que la liste de lecture soit lue en continu en sélectionnant chaque piste de manière aléatoire. J'ai réussi à obtenir ce travail dans un fichier de test distinct. Je vais poster ce code ci-dessous. Le problème est lorsque j'appelle cette fonction dans mon jeu principal, la musique joue la première piste, puis s'arrête. Si je metsPygame Playlist Continue en arrière-plan
while pygame.mixer.music.get_busy():
continue
Il joue juste la musique et ne me laisse pas jouer le jeu. Je veux le lire en boucle à travers la liste de lecture pendant que l'utilisateur joue le jeu (c'est un jeu basé sur le texte de sorte qu'il utilise raw_input()
beaucoup
Voici mon code:.
import pygame
import random
pygame.mixer.init()
_songs = [songs, are, here]
_currently_playing_song = None
def music():
global _currently_playing_song, _songs
next_song = random.choice(_songs)
while next_song == _currently_playing_song:
next_song = random.choice(_songs)
_currently_playing_song = next_song
pygame.mixer.music.load(next_song)
pygame.mixer.music.play()
while True: ## This part works for the test, but will not meet my needs
music() ## for the full game.
while pygame.mixer.music.get_busy():
continue
(PS j'appris python par Zed "Apprendre Python The Hard Way" Shaw est si ma structure de jeu utilise le système de moteur et carte du livre)
[Voici une réponse] (https://stackoverflow.com/a/45597549/6220679) qui vous montre comment lire une chanson aléatoire si la dernière est terminée ou parcourir une liste de chansons en appuyant sur la flèche droite clé. – skrx