Python 让精灵在游戏中跳跃

Python 让精灵在游戏中跳跃,python,python-2.7,event-handling,pygame,sprite,Python,Python 2.7,Event Handling,Pygame,Sprite,做一个基本的游戏,我试着让我的角色在按下空格时跳跃 我有一个模拟重力,当空间被释放时,它会把它拉下来 但是当我把空间往下推的时候,它会上升,不会停止 我只想让它粘起来一秒钟,然后再掉下去 以下是我的按键处理代码片段: 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_SPA

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

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

但是当我把空间往下推的时候,它会上升,不会停止

我只想让它粘起来一秒钟,然后再掉下去

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

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
就像我说的,这个代码使精灵在按下空格时上升,在释放空格时下降,但当按下空格时,我希望它等待一秒钟,然后使精灵返回,即使空格键仍然下降

请帮忙


谢谢

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

为了让球员摔倒,我们希望他只有在落地时才跳。所以我们定义了两种状态<代码>站立和
跳跃
。现在,如果玩家的状态是站着,按空格键只会让玩家跳跃

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

,这很有帮助,我会试试!有关他回答的详情: