制作一个基本的游戏,我想让我的角色在按空格键时跳起来
我有一个模拟的重力,当空间释放时,它会把它拉下来
但是当我按下空格键时它就会上升,不会停止
我想让它只向上停留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
就像我说的,这段代码会在空格键被按下的时候让精灵向上移动当空格键被释放的时候让精灵向下移动但是当它被按下的时候我想让它等待一秒钟然后让精灵向下移动即使空格键仍然是向下的
请帮助! !
谢谢
您应该介绍两件事。状态和速度
为了让玩家摔倒,我们希望他只在地面上跳。我们定义了两种状态。STANDING
和JUMPING
。现在按空格键只会让玩家在状态为STANDING
时跳跃。
为了让玩家像球一样下落,我们引入velocity
。当玩家在地面上时,我们将速度设置为0。当你按空格键时,你将速度改变为100。在每个循环中,如果玩家的状态是JUMPING
,我们就会根据地球引力减少velocity
。最后要检查的是,当玩家到达地面关卡时,你应该将velocity
设置为0,将玩家状态设置为STANDING
。