0

我正在开发用于我创建的游戏的计时器模板。这是我用于计时器模块的代码(尚未将其放入类中)

import time
import math
import pygame
from livewires import games, color
timer = 0

games.init(screen_width = 640, screen_height = 480, fps = 50)

gamefont = pygame.font.Font(None, 30)
timertext = gamefont.render('Timer: ' +str(timer), 1, [255,0,0])
screen.blit(timertext, [scoreXpos,20])

最终,我将拥有一个实时计时器,这就是我使用 render 和 blit 方法的原因,但现在,我只有一个名为 timer 的静态变量设置为 0。然而,当我运行这个程序时,我得到一个显示“屏幕对象不能超过”的错误。我真的很困惑,因为我认为我以前从未见过这个错误,并且绝对不知道它意味着什么,或者如何解决它。如果有人可以帮助我了解正在发生的事情,我将非常感激。此外,我从 livewires 导入游戏和颜色的原因是稍后在代码中将其用于另一个目的。

4

1 回答 1

0

异常由 的Screen类引发livewires

...
class Screen(object): 

    initialized = 0 

    def __init__ (self, width=640, height=480, fps=50): 
        # Bomb if you try this more than once
        if Screen.initialized: 
            raise GamesError("Cannot have more than on Screen object")

        Screen.initialized = 1
...

您没有显示整个代码,所以我猜您在Screen某处创建了该类的第二个实例。

于 2013-07-09T08:31:09.370 回答