我已经对格式化字符串做了一些研究,但它不想为我工作。我有这个
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 这个名字有效,但我似乎无法将分数对齐到右边。
答案 0 :(得分:1)
字符串格式化假定您使用的是等宽字体。由于您已决定使用比例字体,因此您需要绘制为单独的块并使用图形例程将每个块对齐到右侧。
答案 1 :(得分:1)
字符串格式按预期工作。尝试在控制台中打印格式化的sting。您使用的字体的问题。请参阅ll
中hello
与k
相同的范围
要解决这个问题,你必须分别渲染名称和分数,然后在适当的位置进行blit
或者您可以将您使用的字体更改为等宽字体,如Courier或Dejavu mono