我承认,我是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
我会粘贴整个代码,但我无法正确缩进(这是我第一次使用此网站。)
答案 0 :(得分:0)
所以,我知道它已经有一段时间了,如果你不再需要答案,那就没问题。
目前一般很难回答您的问题,因为我不了解您的其他代码的结构或您是如何显示图形的。但是,当你获得
时,我可以告诉你global name timer_message is not defined
错误。这是因为当您在__init__函数中定义timer_message时,您将在函数的本地范围内定义它,而不是在类中定义它。为了使类可以访问,您需要将其分配给self.timer_message。
这是python模仿面向对象编程的结果,但进行此更改应解决您的即时错误。