gpt4 book ai didi

python - 按下一个键会创建一个循环,直到您按下另一个键

转载 作者:行者123 更新时间:2023-12-04 08:29:27 25 4
gpt4 key购买 nike

我正在用 Python 创建一个贪吃蛇游戏。
按下方向键后,蛇会以缓慢的速度向该方向移动,直到用户按下另一个键。
我可以在按下一个键后让蛇移动,但我无法通过按下另一个键来阻止它:
(我正在使用 pygame)

if event.type == pygame.KEYDOWN:

if event.key == pygame.K_LEFT:

while i==False:
time.sleep(0.2)
X_had1=X_had1 - 1

#Print operation

if event.type == pygame.KEYDOWN:
if event.key != pygame.K_LEFT:
i=True

最佳答案

不。永远不要尝试通过应用程序循环中的附加循环来控制应用程序。你有应用程序循环使用它。添加一个控制方向的变量,并在您按下某个键时更改该变量的值。使用 direction改变位置( X_had1Y_had1 ):

direction = None
speed = 1

run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False

if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
direction = (-1, 0)
if event.key == pygame.K_RIGHT:
direction = (1, 0)
if event.key == pygame.K_UP:
direction = (0, -1)
if event.key == pygame.K_DOWN:
direction = (0, 1)

if direction:
X_had1 += direction[0] * speed
Y_had1 += direction[1] * speed

关于python - 按下一个键会创建一个循环,直到您按下另一个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65096124/

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