Pygame:文本传输到 SRCALPHA 表面时失去抗锯齿

Pygame: Text losing anti-aliasing when blitting to SRCALPHA surface

我最近更改了 pygame 游戏处理菜单的方式。我正在渲染的任何文本在被 blit 到显示器 (screen) 之前被 blit 到一个名为 guiSurface 的表面。 问题是这会导致文本出现锯齿,而直接将其 blitting 到显示器则没有这个问题。

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()

我尝试在 menuTextguiSurface 表面上使用 .convert().convert_alpha(),在两个代码片段的第 2 行之后,但无济于事。我不知道什么时候抗锯齿丢失了。

当然感谢您的帮助,在此先致谢。

错在我。将它传送到显示器后我没有清除 guiSurface,这意味着我正在绘制已经存在的内容而不是新的表面。