2015-10-24 72 views
0

目前,我正在研究基于文本的RPG。这个想法是实现一个音轨,以及一般游戏的声音,最终还有一个gui。我已经想出了如何使用pyaudio播放声音。现在,问题是我不能在音乐播放时运行其他功能。有没有解决的办法?我已阅读多处理的主题;但是,他们似乎没有太大的帮助。无需多处理代码,音频将占主导地位,Python将不会运行任何其他功能。通过代码,游戏将运行游戏,但不会播放音频。使用多重处理一次运行多个功能

#Module Imports 
from rooms import user, create 
import items 
import enemies 
import rooms 
from music import AudioFile 
from multiprocessing import Process 
import sys 

def game(): 
    global AudioFile 
    User = user() 
    c = create() 
    a = AudioFile("rpg.wav") 
    while User.is_alive() and User.win == 0: 
     if __name__=='__main__': 
      p1 = Process(target = a.play) 
      p1.start() 
      p2 = Process(target = c) 
      p2.start() 
      p1.join() 
      p2.join() 
game() 

不应该让a.play()和class c()同时运行吗?

感谢您的任何反馈和答案!

回答

0

Pleae尝试下面的代码,

while User.is_alive() and User.win == 0: 
    if __name__=='__main__': 
     procs = [Process(target = a.play), Process(target = c)] 
     [p.start() for p in procs] 
     [p.join() for p in procs] 
+0

该代码合法地做同样的事情。我的游戏命令玩家键入'开始',以便他们可以开始游戏。如果我退出该提示,音乐会尝试播放,但最终会给我一个“酸洗”错误。我知道音频代码的作品,因为当单独执行时,它工作正常。但是,与其他代码结合使用似乎不起作用。 – PyDive