gpt4 book ai didi

python - 在 Pygame 中使 Sprite 跳跃

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

制作一个基本游戏,我试图让我的角色在按下空格时跳跃

我有一个模拟重力,当空间被释放时会把它拉下来

但是当我向下推空间时它会上升并且不会停止

我希望它只上升 1 秒钟然后再下降

这是我的按键处理代码片段:

key = pygame.key.get_pressed()
if key[pygame.K_LEFT]:
self.rect.x -= 30
if key[pygame.K_RIGHT]:
self.rect.x += 30
if key[pygame.K_SPACE]:
self.rect.y += -20
if key[pygame.K_SPACE] == False:
self.rect.y += 20

就像我说的,这段代码让 Sprite 在按下空格时上升,在释放空间时下降,但当它被按下时,我想让它等一秒钟,然后让 Sprite 返回下来,即使空格键仍然按下

请帮忙!!

谢谢

最佳答案

有两件事你应该介绍。状态和速度。

为了让玩家跌倒,我们希望他只有在地面上时才会跳跃。所以我们定义了 2 个状态。 站立跳跃。现在按下空格只会让玩家在状态为 STANDING 时跳跃。

为了让玩家像球一样下落,我们引入了速度。当玩家在地面上时,我们将速度设置为 0。当您按下空格键时,您将速度更改为 100。在每个循环中,如果玩家状态为 JUMPING,我们将通过地球引力降低 velocity。最后要检查的是,当玩家到达地面时,您应该将 velocity 设置为 0,并将玩家状态设置为 STANDING

关于python - 在 Pygame 中使 Sprite 跳跃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16643922/

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