在pygame中使用计时器来触发某些东西

时间:2016-01-06 15:55:42

标签: python timer pygame

我正在努力寻找一种方法来制作一个可以每2秒钟对这个图像进行一次定时的计时器。这是一个网络的形象,旨在将我的玩家陷入我的平台游戏。网从直升机上掉下来,我不会详细介绍。此时网络下降一次,我希望它连续下降2秒。任何帮助将不胜感激。

class Net:
def __init__(self,x,y):
    self.x = x
    self.y = y
    self.width = 60
    self.height = 30
    self.velocity = 0
    self.netimage = pygame.image.load("Images/net.png")
    self.GroundCollision = False

def drop(self, heli, player, gravity):
    screen.blit(self.netimage, (self.x,self.y))
    self.velocity += gravity
    self.y += self.velocity

1 个答案:

答案 0 :(得分:1)

这就是我对游戏的处理方式:

  1. 我创建了一个名为timer的变量,并将其设置为0。
  2. 每个循环,我用模数检查计时器变量。
  3. 如果计时器%= = 0,那就做吧。
  4. 如果你想改变你的帧率,有一个名为“fps”的变量也很有帮助。

    只需在while循环之前键入timer=0

    然后在while循环中输入以下代码

    clock.tick(fps)
    timer += 1
    if timer % (fps * 2) == 0: #executes the following every 2 seconds
        Net.drop()
    

    这就是所需要的!玩得开心Pygaming!