2016-10-31 4 views
0

Python 2.7Pygameでどのようにノートを連続して再生しますか?

私がパイゲームでピアノのようなものを作成しようとしているところで、キーを押すとノートが再生されます。私の問題は、キーが押されている間にノートを永久に再生させる方法を見つけることができないことです。私はループを作ろうとしましたが、それを残す方法を理解できませんでした。

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 

答えて

0
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() 

キーが押されている間、それは、そのキーを果たし続けるだろうが、それはもう押されていないときには停止します。

関連する問題