python-3.x - Pygame:当位 block 传输到 SRCALPHA 表面时,文本失去抗锯齿功能

标签 python-3.x pygame pygame-surface

我最近改变了我的 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()

我尝试在 menuTextguiSurface 上使用 .convert().convert_alpha() > 表面,在两个代码片段中的第 2 行之后,但无济于事。而且我不知道抗锯齿功能在哪一点消失了。

当然感谢您的帮助,并提前致谢。

最佳答案

都是我的错。在将 guiSurface 位图传输到显示器后,我没有清除它,这意味着我是在已有的内容上绘制,而不是在新的表面上绘制。

关于python-3.x - Pygame:当位 block 传输到 SRCALPHA 表面时,文本失去抗锯齿功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60552350/

相关文章:

python - 在 python 2 和 3 中使用 input/raw_input

python - Pygame-同时运行两件事

python - 在 pygame 中显示文本时遇到问题

pygame - 使用 pygame 以编程方式创建和填充 8 位表面的最快方法

python - win.blit()后台pygame时出现滞后

python - 如何获得没有透明部分的 pygame Surface 的矩形?

python - 如何创建 HTTPS Tornado 服务器

python - 可使用 yield 或 __next__() 迭代

python - 从股票数据中获取每天第一笔交易的时间

python - 如何让敌人跟随pygame中的玩家?