Python Pygame字体文本未显示正确的数字

Python Pygame字体文本未显示正确的数字,python,python-3.x,text,pygame,Python,Python 3.x,Text,Pygame,所以,对于我正在进行的游戏,我发现了一个错误,我在任何地方都找不到答案 下面是我的UI中的代码片段 if not self.game.rot_lim == 0: pg.draw.rect(self.ui, (255,255,255), (730,16,32,32)) rotators = str(self.game.rot_rem) self.draw_text("Prisms Remaining: " + rotators, 770) rot_lim是一个整数,它存储

所以,对于我正在进行的游戏,我发现了一个错误,我在任何地方都找不到答案

下面是我的UI中的代码片段

if not self.game.rot_lim == 0:
    pg.draw.rect(self.ui, (255,255,255), (730,16,32,32))
    rotators = str(self.game.rot_rem)
    self.draw_text("Prisms Remaining: " + rotators, 770)
rot_lim是一个整数,它存储用户可以为该级别放置的旋转器总数的值。类似地,rot_rem是可以放置的剩余量

我的绘图文本功能如下所示:

def draw_text(self, text, x, y = 20):
    # Renders text
    draw = self.game.text.render(text, False, (0,0,0), (170, 170, 170))
    # Draws on UI
    self.ui.blit(draw, (x,y))
现在,我的问题是总共显示10个或更多。当我低于10时,它会在末尾显示一个额外的0,例如,如果我放置1,它将变为90。对于我在后面放置的每一个,它都会忽略最后一个0,并且它不存在于使用print语句测试的代码中,因此它只存在于它的呈现端


非常感谢

好吧,我设法重新创建了这个问题,它与重新绘制屏幕有关,而不是与您发布的代码有关。因为我们只能看到你的代码的一部分,所以我不能确切地确定我的代码是否符合你的问题

确保您正在做以下两件事之一:

1通过重新填充背景色屏幕来清除who屏幕。填充255、255、200

2通过重新填充来清除文本所在的部分,可能它位于需要重新绘制的矩形内


这应该发生在比赛的每一关,而循环。基本上,每次都要确保刷新屏幕,因为当前屏幕刚刚结束

你的意思是说如果我把9放到90而不是1吗?如果你从10降到90,只打印9…啊,这很棘手。我无法在我的系统上重新创建该问题,这意味着可能存在一些您提供的代码中未显示的问题。啊,是的,有效!对于我的UI类,它会单独更新到游戏的其余部分,因为我忘了在这里添加填充部分。谢谢