【问题标题】:Making Sprite Jump in Pygame在 Pygame 中制作 Sprite 跳跃
【发布时间】:2013-05-20 06:39:28
【问题描述】:

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

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

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

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

这是我的按键处理代码sn-p:

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

就像我说的那样,这段代码使精灵在按下空间时上升,在释放空间时下降,但是当按下它时我希望它等待一秒钟然后即使空格键仍然向下也让精灵返回

请帮忙!!

谢谢

【问题讨论】:

    标签: python python-2.7 event-handling pygame sprite


    【解决方案1】:

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

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多