做一个基本的游戏,我试图让我的角色在按下空格键时跳跃
我有一个模拟的重力,当空间被释放时它会被拉下来
但当我把空间往下推时,它会上升,而且不会停止
我要它只粘上一秒钟然后再下去
这是我的按键处理代码片段:
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
。相关问题 更多 >
编程相关推荐