簡體   English   中英

如何在按下 s 鍵時停止音樂?

[英]How to stop the music when the s key is pressed?

當我按下空格鍵時,我的程序會播放音樂。 如何在按下s鍵時停止音樂?

import pygame, sys
from pygame.locals import QUIT


def main():
    pygame.init()

    #Intalise
    DISPLAYSURF = pygame.display.set_mode((400, 300))
    pygame.display.set_caption('Drop Shadow!')

    #load sound
    beep_sound = pygame.mixer.Sound('Joy.wav')

    #load music
    pygame.mixer.music.load('Joy.wav')

    # Game Clock
    game_clock = pygame.time.Clock()

    #Game Loop
    running = True
    while running:
        #Update Section

        #Update delta_time
        delta_time = game_clock.tick(60) / 100

        #Handle events
        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                sys.exit()
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_SPACE:
                    #play sound
                    pygame.mixer.Sound.play(beep_sound)
                if event.key == pygame.K_p:
                    #play music
                    pygame.mixer.music.play(-1)
                  
        #Draw Section
        DISPLAYSURF.fill((128, 128, 128))

        pygame.display.flip()


    if __name__ == "__main__":
        main()

您可以使用pygame.mixer.music.stop()

如果當前正在播放,則停止音樂播放。 endevent將被觸發,如果設置。 它不會卸載音樂。

當按下pygame.K_s時,有條件地在事件循環中調用它,如下所示:

if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_SPACE:
        #play sound
        pygame.mixer.Sound.play(beep_sound)
    if event.key == pygame.K_p:
        #play music
        pygame.mixer.music.play(-1)
    if event.key == pygame.K_s:
        #stop music
        pygame.mixer.music.stop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM