我正在做一个简单的游戏,宇宙飞船飞过屏幕射击外星人。无论如何,我决定在比赛开始之前进行倒计时并且在那之后显示得分是很好的。因为我使用的是pygame,所以显而易见的选择是pygame.font方法。所以我通过一些互联网搜索起草了下面的代码,事实证明它只是在某些时候工作。当它工作时,我可以看到所有颜色,字体大小,字体类型,位置,内容等工作的证据。然而,很多时候它似乎是随机的场合,它返回错误信息“Text has zero width”,高于下面的第二行代码。如果不改变任何参数,这完全是自发的。任何帮助将不胜感激,谢谢。
theFont= pygame.font.SysFont("C:\\ProgrammeringOne\\motion_control\\MotionControl-Bold", 15)
label = theFont.render("Some text!", 1, (255,255,0))
screen.blit(label, (40, 30))
答案 0 :(得分:0)
首先,如果您使用SysFont
,则不必编写完整路径。如果将字体放入C中的主字体文件夹,则只有字体名称就足够了。
第二,在这里; label = theFont.render("Some text!", 1, (255,255,0))
1
必须为True
。将1
替换为True
。
label = theFont.render("Some text!", True, (255,255,0))
关于sometimes it's working
,我不确定,但实际上您知道True
等于1
;
>>> True+True
2
>>>
所以可能这就是为什么当你使用1
它正在工作时。