格式化字符串不起作用

时间:2016-05-27 23:43:01

标签: python pygame

我已经对格式化字符串做了一些研究,但它不想为我工作。我有这个

for i in range(0,10):
    stat = arr[i]
    highscoreText = GameFont.render('{0:12}{1:>0}'.format(stat["Name"],stat["Score"]),2,(255,255,255))
    Screen.blit(highscoreText,[50,50 + (i*30)])

输出:http://prntscr.com/b9abfw 这个名字有效,但我似乎无法将分数对齐到右边。

2 个答案:

答案 0 :(得分:1)

字符串格式化假定您使用的是等宽字体。由于您已决定使用比例字体,因此您需要绘制为单独的块并使用图形例程将每个块对齐到右侧。

答案 1 :(得分:1)

字符串格式按预期工作。尝试在控制台中打印格式化的sting。您使用的字体的问题。请参阅llhellok相同的范围 要解决这个问题,你必须分别渲染名称和分数,然后在适当的位置进行blit 或者您可以将您使用的字体更改为等宽字体,如Courier或Dejavu mono