Pygame:向SRCALPHA表面书写时,文本失去抗锯齿功能

问题描述 投票:0回答:1

我最近更改了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()面上同时使用menuTextguiSurface,但无济于事。而且我不知道抗混叠在哪一点丢失。

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

python-3.x pygame pygame-surface
1个回答
0
投票

是我的错。将[b]拖到显示屏上后,我没有清除它,这意味着我是在绘制已有的内容,而不是新鲜的表面。

© www.soinside.com 2019 - 2024. All rights reserved.