为什么我的分数不会更新

时间:2014-02-13 01:59:28

标签: python pygame

 keepGoing = True
 while keepGoing:
     score+=1
     myfont = pygame.font.SysFont("monospace", 15)
     label = myfont.render(str(score), 1, (255,255,0))
     screen.blit(label, (100, 100))

这是我的代码但是当我运行该程序时它会正确地增加分数 - 但是当它输出到屏幕时它不会关闭前一个数字,所以当它在屏幕上打印1然后是2时1不会t擦除2个节目写在它上面。因为这一段时间后我才在屏幕上看到一个黄色的块。

3 个答案:

答案 0 :(得分:1)

您收到错误

NameError: name 'score' is not defined

因为您正在尝试更新尚未定义的变量。即使+=包含等号,您仍需要在使用score之前定义+=

keepGoing = True
score = 0

while keepGoing:
    score += 1

答案 1 :(得分:0)

你应该定义分数,比如

keepGoing = True
score = 0 

然后它有效。

答案 2 :(得分:0)

我不知道python,但根据症状我的猜测是你必须先清除屏幕才能写出新内容。这个问题可能就是这样做的。

How to get rid of pygame surfaces?