我在python上使用pygame创建一个游戏并尝试允许用户做出是或否决定,但由于某种原因它不会进入我的循环"对于pygame中的事件.event.get():"
它不会在Shell中创建任何错误消息,而不是按照我想要它做的事情,它只是在我按空格时绕过该功能,而其他任何事情似乎都没有做任何事情。
这是调用Y / N函数的函数:
if SwordCheck == None:
dispOnTextBox("You don't have", 'anything to buy.', '')
elif SwordCheck == False:
displayMoney(Kelts, Parts, Shreds)
dispOnTextBox('Do you want to', 'purchase that?', "it's 200 kelts")
VALUE = waitForYNDecision()
if VALUE == None:
pygame.display.update()
FPSCLOCK.tick()
elif VALUE == False:
dispOnTextBox('No? Ok, but please', 'put it back when', "you are done")
return False
elif VALUE == True:
dispOnTextBox('Alright! here you', 'go. Thank you', 'for your purchase')
return True
这是Y / N功能:
print 'CHOOSE Y/N with Up = Yes and Down = No'
for event in pygame.event.get():
if event.type == QUIT:
terminate()
elif event.type == KEYDOWN:
if event.key in (K_W, K_KP8):
return True
elif event.key in (K_S, K_KP5):
return False
return None
我已经测试了所有其他功能,只有这些功能有问题。我是一名业余爱好者,并希望得到一个好的答案。
答案 0 :(得分:0)
它希望用户立即这样做,我不确定这是否是它的意图,但如果它不是真的把它放在一个真正的循环中