我正在开发一个程序,将显示一个数组的字母。如果用户按向上箭头,这将在数组中移动,如果用户按向下箭头,也将在数组中移动。 问题是,当我按下这些键中的任何一个时,字母移动得非常快,例如,如果我在A中,程序会一直移动到D或类似的东西。 这是我的密码
def HighScore(event):
pygame.init()
nameString=""
nameStringFinal=""
index=0
ABC=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
font=pygame.font.SysFont("Arial",30,True,False)
screen=pygame.display.set_mode((700, 700))
pygame.display.set_caption("New High Score" )
font=pygame.image.load("imagenes/paisaje.jpg").convert()
escape=False
while escape==False:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
screen.blit(fondo,(0,0))
show=fuente.render(nombreString,0,(0,0,0))
if event.type == pygame.KEYDOWN:
if control==True:
if event.key == pygame.K_UP:
if index==25:
index=25
else:
index=index+1
nameString=ABC[index]
elif event.key == pygame.K_DOWN:
if index==0:
index=0
else:
index=index-1
nameString=ABC[index]
elif event.key == pygame.K_RETURN:
nameStringFinal=nameStringFinal+nameString
screen.blit(despliegue,(200,200))
pygame.display.flip()
您需要确保所有事件处理都正确缩进,因此它是
for
循环的一部分按照现在的方式,最后一个偶数将被反复处理,直到一个新事件到来
例如:
在shell中,您可以看到空列表上的for循环如何将变量与前一个循环的值一起保留
相关问题 更多 >
编程相关推荐