Чем pygame.font.Font отличается от pygame.freetype.Font? - PullRequest
0 голосов
/ 05 октября 2018

Чтобы делать автоматические разрывы строк, мне пришлось использовать pygame.freetype.Font.Однако вывод из pygame.font.Font отличается от вывода из отображения pygame.Это мой код разрыва строки.

Afont = pygame.font.Font("fonts.ttf", 26)
Bfont = pygame.freetype.Font("fonts.ttf", 26)

def edit_text(text, font, x1, y1):
     font.origin = True
     words = text.split("")
     width, height = display.get_size() #display = pygame.display.set_mode((1000, 500))
     line_spacing = font.get_sized_height() + 2
     x, y = x1, y1+line_spacing

     space = font.get_rect("")
     for word in words:
        bounds = font.get_rect(word)
        if x + bounds.width + bounds.x+17 >= width:
            x, y = x1, y + line_spacing
        if x + bounds.width + bounds.x+17 >= width:
            raise ValueError("word too wide for the surface")
        if y + bounds.height - bounds.y >= height:
            raise ValueError("text to long for the surface")
        font.render_to(display, (x, y), None, black)
        x += bounds.width + space.width
    return x, y

и, если я использую Afont, я получаю эту ошибку: AttributeError: у объекта 'pygame.font.Font' нет атрибута 'origin' Только я могу использовать шрифт freetype.. Зачем?И как я могу это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...