使精灵在皮加姆跳跃

2024-04-27 05:14:52 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

但当我把空间往下推时,它会上升,而且不会停止

我要它只粘上一秒钟然后再下去

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

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

就像我说的,当空间被按下时,这个代码会使精灵上升,当空间被释放时,这个代码会使精灵下降,但是当它被按下时,我希望它等待一秒钟,然后即使空间条仍然下降,也会使精灵下降

请帮忙!!

谢谢你


Tags: key代码rectself游戏角色getif
1条回答
网友
1楼 · 发布于 2024-04-27 05:14:52

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

为了让运动员摔倒,我们希望他只有在地上时才跳。所以我们定义了两种状态。STANDINGJUMPING。现在按空格键只会使玩家在状态为STANDING时跳跃。

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

相关问题 更多 >