繁体   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