在python中添加倒数计时器

时间:2013-11-28 01:59:47

标签: python timer

我承认,我是python的新手,但这是我的问题。

版本是2.6.5(我知道这是旧版本,但有理由这样做)并使用了livewires

基本上这个游戏有一堆彩色气球,你需要点击它们才能让它们消失。相同颜色的相邻气球与点击的气球一起消失。一旦气球被清除,它就会移动到下一个级别。

我需要在屏幕的右上角创建一个计时器。这个计时器需要在几秒钟内倒计时(从30开始可能是一个好的开始。)然而无论我尝试什么,计时器都不会显示或数字彼此重叠。我想知道如何做到这一点,因为它一直把我推上了墙。

......当然,如果游戏达到零,它还需要结束游戏,如果等级完成则增加更多时间......

但是现在我只想专注于显示计时器并让它在屏幕上倒数到零。

class Timer(games.Sprite):
    """ countdown timer """
    def __init__(self):
       timer_message = games.Text(
           value = 30,
           size = 50,
           color = red,
           x = 600,
           y = 30
        )
    def start(self):
        while self.timer_message.value != 0:
            time.sleep(1)
            self.timer_message.value -= 1
            game.screen.add(timer_message)

好的。我修复了“压缩气球表”(意外删除了self_update lol)问题,但现在它说“全局名称timer_message未定义”......尽管它说的是timer_message = games.Text

我会粘贴整个代码,但我无法正确缩进(这是我第一次使用此网站。)

1 个答案:

答案 0 :(得分:0)

所以,我知道它已经有一段时间了,如果你不再需要答案,那就没问题。

目前一般很难回答您的问题,因为我不了解您的其他代码的结构或您是如何显示图形的。但是,当你获得

时,我可以告诉你
global name timer_message is not defined

错误。这是因为当您在__init__函数中定义timer_message时,您将在函数的本地范围内定义它,而不是在类中定义它。为了使类可以访问,您需要将其分配给self.timer_message。

这是python模仿面向对象编程的结果,但进行此更改应解决您的即时错误。