我最近更改了pygame游戏处理菜单的方式。我渲染的所有文本都会先被拉伸到guiSurface
的表面,然后再被拉伸到screen
。问题是,这将导致文本显示为别名,而直接将其拖到显示中则不会出现此问题。
使用guiSurface
(screenshot):
menuFont = pygame.font.Font('assets/MarkPro.otf',15,bold=False,italic=False)
menuText = menuFont.render(version, 1, (255,255,255))
guiSurface.blit(menuText,(790-(menuText.get_size()[0]),475))
screen.blit(guiSurface, (0,0))
pygame.display.update()
直接显示(screenshot):
menuFont = pygame.font.Font('assets/MarkPro.otf',15,bold=False,italic=False)
menuText = menuFont.render(version, 1, (255,255,255))
screen.blit(menuText,(790-(menuText.get_size()[0]),475))
screen.blit(guiSurface, (0,0))
pygame.display.update()
我已经尝试在两个代码段的第2行之后,在.convert()
和.convert_alpha()
面上同时使用menuText
和guiSurface
,但无济于事。而且我不知道抗混叠在哪一点丢失。
当然,感谢您的帮助,在此先感谢。
是我的错。将[b]拖到显示屏上后,我没有清除它,这意味着我是在绘制已有的内容,而不是新鲜的表面。