Pygame не понимает символ переноса строки \n

Сделал скрипт для pygame, чтобы строка переносилась, если количество символов в строке делится по модулю на end (максимальное количество символов на строку)

def print_text(message, x, y, end=0, font_color=(255, 255, 255), font_type='media/FiraSans-Italic.ttf', font_size=30):
pygame.font.init()
if end > 1:
    words = []
    for i in message:
        words.append(i)
        if len(words) % end == 0:
            words.append("\n")
    message = "".join(words)
    print(message)
font_type = pygame.font.Font(font_type, font_size)
text = font_type.render(message, True, font_color)
screen.blit(text, (x, y))

но на выходе получаю вместо переноса строки только этот символ - ⍰, на месте вставляемого "\n"


Ответы (2 шт):

Автор решения: Антон

решил вопрос, изменив функцию print_text()

def print_text(message, x, y, end=0, font_color=(255, 255, 255), font_type='media/FiraSans-Italic.ttf', font_size=30):
pygame.font.init()
font_type = pygame.font.Font(font_type, font_size)
text = font_type.render(message, True, font_color)
if end > 1:
    words = []
    for i in message:
        words.append(i)
        if len(words) % end == 0:
            words.append('-')
        
    message = "".join(words)
    list_words = message.split('-')
    list_length = len(list_words)
    for i in range(0, list_length):
        j = i + 1
        y_i = y * j
        list_text = font_type.render(list_words[i], True, font_color)
        screen.blit(list_text, (x, y_i))
else:
    screen.blit(text, (x, y))
→ Ссылка
Автор решения: Артем Батанин
def text(x, y, color, size, text, w):
    a = {}
    n = int(((w - x)/size)/0.45)
    k = int((len(text)//n))
    font = pg.font.Font(None, size)
    for i in range(0, k + 1):
        f = str()
        if i == 0:
            for m in range(0, len(text)):
                if m < n:
                    f += text[m]
        else:
            for m in range(n * i, len(text) - (k * i)):
                if m < (n*(i + 1)):
                    f += text[m]
        text1 = font.render(f, True, color)
        sc.blit(text1, (x, y))
        y += (0.5 * size)
    pg.display.update()
→ Ссылка