我正在努力寻找一种方法来制作一个计时器,该计时器每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

最佳答案

这是我对游戏的处理:


我创建了一个名为timer的变量,并将其设置为0。
在每个循环中,我都会以模数形式检查计时器变量。
如果timer%something == 0,则执行该操作。


如果您想更改帧速率,则使用一个名为“ fps”的变量也很有帮助。

只需在while循环之前输入timer=0即可。

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

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


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

10-07 18:53
查看更多