2017-04-27 81 views
0

所以我在python 3.6.0中製作了一個吉他英雄般的遊戲。我試圖使用pygame.KEYDOWN來檢查它被點擊的空格鍵。但是我發現有時候它缺少一些輸入,並且不會增加我的命中數。這裏是代碼的相關部分:pygame.KEYDOWN缺少輸入

import pygame as pyg 
pyg.init() 


hit=0 


pyg.key.set_repeat() 


playFlag=True 

while playFlag: 

    pyg.event.get() 
    redraw_screen() 
    for event in pyg.event.get():  
    if event.type == pyg.QUIT:  
     playFlag = False     


    if event.type==pyg.KEYDOWN and event.key==pyg.K_SPACE: 

    for i in range(len(song1)): 
     if 550>noteheight[i]>450: 
      hit+=1 
       noteheight[i]=700 

#Moves the notes 
for i in range(len(song1)): 
    noteheight[i]+=notespeed 

pyg.time.delay(10) 

pyg.quit()

+0

我們需要查看更多代碼......理想情況下,您將提供一個展示問題的最簡單示例。 – mgalgs

+0

我添加了一點點代碼來展示主體是如何工作的。如果你不想讓我繼續前進並添加函數,我必須重畫窗口和所有全局變量,那麼我也可以這樣做,我只是不想讓代碼太難遵循。 –

回答

0

唯一的原因,我能找到的,爲什麼你的命中計數器可能無法正常工作是你最有可能有它的循環內聲明該代碼被寫入,因此每隔一段時間重置一次。至於缺失的筆記,我不能真正幫助你...我不確定你真的想在這裏做什麼。你的第三行專門。