如何解决呈现文字时滞后
我正在做一个游戏,我想渲染文本。代码
def draw(self,window):
self.scorefont = pygame.font.Font(pygame.font.get_default_font(),30)
self.lostfont = pygame.font.Font(pygame.font.get_default_font(),100)
scoresurf = self.scorefont.render(f"Score: {game.score}",True,(68,76,87))
ballsurf = self.scorefont.render(f"Balls Used: {game.ballsUsed}",87))
lostsurf = self.lostfont.render("GAME OVER",(255,0))
spacesurf = self.scorefont.render("ENTER SPACE TO START A NEW GAME!",(0,0))
if not game.lost:
window.blit(scoresurf,(10,10))
window.blit(ballsurf,(900,10))
else:
window.blit(scoresurf,(400,240))
window.blit(ballsurf,270))
window.blit(lostsurf,(200,300))
window.blit(spacesurf,10))
我注意到,每当我尝试调用此函数时,它就会滞后。谢谢您的帮助。
解决方法
代码中没有任何明显的错误。但是,您一次又一次地分配了相同的曲面。通过将这段代码移到类的__init__
方法上,可以提高性能。
class ClassName:
def __init__(self):
self.scorefont = pygame.font.Font(pygame.font.get_default_font(),30)
self.lostfont = pygame.font.Font(pygame.font.get_default_font(),100)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。