游戏音乐暂停/取消暂停切换

2024-10-03 00:27:09 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,这是我的代码:

def toggleMusic():

    if pygame.mixer.music.get_busy():
        pygame.mixer.music.pause()

    else:
        pygame.mixer.music.unpause()

---事件处理---

如果按“m”,则应切换音乐是否暂停和未暂停

^{pr2}$

它可以暂停音乐,但不能取消暂停,有什么解释吗?在


Tags: 代码getif音乐defmusicpygameelse
2条回答

也有同样的问题。为了供其他人参考,我的解决方案是使用一个简单的类。在

class Pause(object):

    def __init__(self):
        self.paused = pygame.mixer.music.get_busy()

    def toggle(self):
        if self.paused:
            pygame.mixer.music.unpause()
        if not self.paused:
            pygame.mixer.music.pause()
        self.paused = not self.paused

# Instantiate.

PAUSE = Pause()

# Detect a key. Call toggle method.

PAUSE.toggle()

它不会取消暂停音乐,因为pygame.mixer.music.pause()不影响{}的状态。在

要获得您要查找的行为,您需要维护自己的变量,该变量跟踪暂停/未暂停状态。您可以在一个类中执行此操作:

class mixerWrapper():

    def __init__(self):
        self.IsPaused = False

    def toggleMusic(self):
        if self.IsPaused:
            pygame.mixer.music.unpause()
            self.IsPaused = False
        else:
            pygame.mixer.music.pause()
            self.IsPaused = True

相关问题 更多 >