2017-04-27 63 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

唯一的原因,我能找到的,为什么你的命中计数器可能无法正常工作是你最有可能有它的循环内声明该代码被写入,因此每隔一段时间重置一次。至于缺失的笔记,我不能真正帮助你...我不确定你真的想在这里做什么。你的第三行专门。