Pygame流畅的字体

时间:2013-11-20 06:09:35

标签: python fonts pygame

我正在使用pygame库开发一个简单的游戏,但是当我开始绘制文本(抗锯齿功能)时,它已经变得与我的Photoshop概念略有不同。字体对我来说看起来太尖锐了。有些字母太薄,有些字母太厚。有些较低,有些较高。这是一个例子(数字看起来非常不成比例)。

的Photoshop:

Photoshop fonts

我的游戏:

Actual fonts

重要的是,在photoshop中有一个选项sharp,这使我的文字看起来就像我现在的游戏一样(图2)。所以我把它切换到smooth,结果出现在第一张图片上。

那么我能以某种方式修复这种尖锐的字体并使其看起来更平滑吗?也许更好地将图像用于静态文本?或者我应该处理它?<​​/ p>

1 个答案:

答案 0 :(得分:0)

我建议使用 pygame.freetype 模块以获得更好的结果。

最小示例:

import pygame
import pygame.freetype

pygame.init()
window = pygame.display.set_mode((500, 150))
clock = pygame.time.Clock()
ft_font = pygame.freetype.SysFont('Sans', 50)

run = True
while run:
    clock.tick(60)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    window.fill((255, 255, 255))
    text_str = 'Player 1    9:8    Player 2'
    text_rect = ft_font.get_rect(text_str)
    text_rect.center = window.get_rect().center
    ft_font.render_to(window, text_rect.topleft, text_str, (100, 200, 255))
    pygame.display.flip()

pygame.quit()
exit()