gpt4 book ai didi

python - Pygame - 在 pygame 窗口周围移动一个正方形,但在改变方向时无法停止当前移动,导致正方形沿对角线移动

转载 作者:太空宇宙 更新时间:2023-11-03 15:35:53 24 4
gpt4 key购买 nike

我正在使用以下代码(在一个循环中)在 pygame 窗口周围移动一个正方形:

for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_UP:
vel_y = -25
elif event.key == K_DOWN:
vel_y = 25
elif event.key == K_LEFT:
vel_x = - 25
elif event.key == K_RIGHT:
vel_x= 25
y += vel_y
x += vel_x

x 和 y 是正方形的位置。

当按下箭头键时,这段代码不断地按照我想要的方向移动方 block 。但是,如果我向上或向下然后向左或向右按​​,我会遇到它在屏幕上沿对角线移动的问题。

我需要一个解决方案来阻止它沿当前方向移动并转向新方向。不要同时向两个方向移动。

最佳答案

当附加键被按下时,另一个vel_仍然被设置为一个值。要解决此问题,您需要做的就是在设置新方向时将另一个速度设置为 0。

if event.key == K_UP:
vel_y = -25
vel_x = 0
elif event.key == K_DOWN:
vel_y = 25
vel_x = 0
elif event.key == K_LEFT:
vel_x = -25
vel_y = 0
elif event.key == K_RIGHT:
vel_x = 25
vel_y = 0

关于python - Pygame - 在 pygame 窗口周围移动一个正方形,但在改变方向时无法停止当前移动,导致正方形沿对角线移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54870769/

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