[英]Pygame music pause/unpause toggle
好的,這是我的代碼:
def toggleMusic():
if pygame.mixer.music.get_busy():
pygame.mixer.music.pause()
else:
pygame.mixer.music.unpause()
---事件處理---
如果按下“m”,它應該切換音樂是暫停還是不暫停
toggleMusic()
它可以暫停音樂但不能取消暫停,有什么解釋嗎?
它不會取消暫停音樂,因為pygame.mixer.music.pause()
不會影響pygame.mixer.music.get_busy()
的狀態。
要獲得您正在尋找的行為,您需要維護自己的變量,以跟蹤暫停/未暫停狀態。 你可以在課堂上做到這一點:
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
有同樣的問題。 對於其他人的參考,我的解決方案是使用一個簡單的類。
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()
這個不錯,我用它玩游戲
來源https://youtu.be/kzTloDq1FiQ
is_paused = False
def toggle_pause():
global is_paused
if is_paused == True:
is_paused = False
else:
is_paused = True
wn.listen()
wn.onkeypress(toggle_pause, " ")
while True:
if not is_paused:
bob.fd(1)
bob.lt(1)
else:
wn.update()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.