gpt4 book ai didi

python - pygame连续和同时按键输入

转载 作者:行者123 更新时间:2023-12-01 03:59:20 24 4
gpt4 key购买 nike

我再次陷入困境,无法在网上找到任何有效的解决方案。我正在尝试使用 pygame 及其关键输入来控制各种事物。现在我需要同时使用几个键。我的代码如下:

pygame.key.set_reapeat(50,50)
bProgramLoop = True
while (bProgramLoop == True):

for event in pygame.event.get():
if (event.type == pygame.QUIT):
bProgramLoop = False
if (pygame.key.get_pressed()[pygame.K_LEFT]):
EXECUTE_FUNCTION1()
print "left"
if (pygame.key.get_pressed()[pygame.K_RIGHT]):
EXECUTE_FUNCTION2()
print "right"

现在我遇到的问题是:当我按住“左或右”时,它会正确并连续地记录我按左/右。但是,当我按住“左”并点击“右”时,它会记录左和右被按下,但然后停止记录“左”仍在被按下。

有人有什么想法吗?任何帮助将不胜感激。米莎

最佳答案

在我的代码中,“重复”拼写正确。

我找到了解决我的问题的方法。上面的代码需要修改。

pygame.key.set_repeat(50,50)
bProgramLoop = True
while (bProgramLoop == True):

for event in pygame.event.get():
if (event.type == pygame.QUIT):
bProgramLoop = False
if (event.type == pyame.KEYDOWN):
if (event.key == pygame.K_a) # if A is pressed
bKeyA = True # set the Boolean True
if (event.key == pygame.K_s)
bKeyS = True
if (event.type == pyame.KEYDOWN):
if (event.key == pygame.K_a) # if A is released
bKeyA = False# set the Boolean False
if (event.key == pygame.K_s)
bKeyS = False

if (bKeyA == True):
Execute_function1()
if (bKeyB == True):
Execute_function2()

我仔细检查过,重复拼写正确,并且一旦点击另一个键盘输入,它就不会继续键盘输入。据我所知,问题是,甚至在按下按键时发生一次。当同时按下另一个键时,该事件将丢失。

因此,解决方案是将变量设置为 true,直到按键被抬起,从而将该变量设置为 false。

关于python - pygame连续和同时按键输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36890058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com