因此,对于我正在开发的游戏,我发现了一个错误,但我一直无法在任何地方找到答案。
这是我的用户界面中的代码段
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语句进行了测试),因此仅存在于其呈现端。
非常感谢!
答案 0 :(得分:1)
好的,我设法重新创建了该问题,这与重新绘制屏幕有关(与您发布的代码无关)。由于我们只能看到您的部分代码,因此我不确定我的娱乐活动是否与您的问题相符。
确保您正在执行以下两项操作之一:
1)通过重新填充背景颜色screen.fill((255, 255, 200))
2)通过重新填充文本(可能是在需要重绘的矩形内)清除文本所在的部分
这应该发生在游戏的每回合循环中。基本上,请确保您每次都刷新屏幕,因为当前它只是画图