簡體   English   中英

你如何在Pygame中連續演奏音符?

[英]How do you continuously play a note in Pygame?

Python 2.7

我試圖在pygame中創建一個類似鋼琴的東西,當按下一個鍵時,一個音符播放。 我的問題是,當按鍵被按下時,我無法弄清楚如何讓音符永遠播放。 我試着做一個while循環,但我無法弄清楚如何離開它。

import pygame

pygame.mixer.pre_init(44100, -16, 2, 2048)
pygame.init()
size = width, height = 800, 400
screen = pygame.display.set_mode((size))

while 1:
    for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()
            if event.type == pygame.KEYDOWN:
                if event.type == pygame.KEYUP:
                    break
                elif event.key == pygame.K_i:
                    pygame.mixer.music.load('file.wav') #A
                    pygame.mixer.music.play()

                elif event.key == pygame.K_o:
                    pygame.mixer.Sound('file.wav').play() #B

                elif event.key == pygame.K_e:
                    pygame.mixer.Sound('file.wav').play() #C

                elif event.key == pygame.K_r:
                    pygame.mixer.Sound('file.wav').play() #D

                elif event.key == pygame.K_t:
                    pygame.mixer.Sound('file.wav').play() #E

                elif event.key == pygame.K_y:
                    pygame.mixer.Sound('file.wav').play() #F

                elif event.key == pygame.K_u:
                    pygame.mixer.Sound('file.wav').play() #G
while running:
    keys = pygame.key.get_pressed()  #checking pressed keys
    if keys[pygame.K_UP]:
       pygame.mixer.Sound('file.wav').stop()
    if keys[pygame.K_DOWN]:
       pygame.mixer.Sound('file.wav').play()

當按下一個鍵時,它將繼續播放該鍵,但當它不再按下時它將停止。

暫無
暫無

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

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