我正在使用 pygame 和 livewires 开发 galactica 类型的游戏。然而,在这个游戏中,不是敌人的,而是你射击的气球。每点击 25 次鼠标,我使用设置为 1 的 dy 属性让气球向下移动一行。如果气球到达底部,则游戏结束。但是,我在弄清楚如何让它只运行 1 秒或 2 秒时遇到了一些麻烦。因为我没有办法对结果“计时”,所以 dy 值无限期地设置为 1。因此,在前 25 次点击之后,该行一直向下移动。这没关系,但就像我说的,这不是我想要的结果。
这是我到目前为止的此操作的代码:
if games.mouse.is_pressed(0):
new_missile = missile(self.left + 6, self.top)
games.screen.add(new_missile)
MISSILE_WAIT = 0 #25
CLICKS += 1
if CLICKS == 25:
SPEED = 1
CLICKS = 0
CLICKS 和 MISSILE_WAIT 是在此代码块之前创建并设置为初始值 0 的全局变量。我想弄清楚的是放在 if CLICKS 语句下面的算法。我查看了 time 模块上的 python 文档,但似乎找不到任何适合这个目的的东西。另外,我不认为使用 while 循环在这里会起作用,因为计算机会立即检查这些结果,而我需要一个实际的计时器。