Как отобразить текст в Pygame? - PullRequest
2 голосов
/ 04 ноября 2019

Я в настоящее время нахожусь на проекте pygame и хотел показать некоторый текст. Я делал это раньше в другой программе, и она прекрасно работает, но когда я пишу ту же самую вещь в этом проекте, она выдает эту ошибку:

Traceback (most recent call last):
  File "C:\Users\Fazelifar\Desktop\Dot Game.py", line 197, in <module>
    myfont = pygame.font.SysFont(None, 15)
  File "C:\Users\Fazelifar\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pygame\sysfont.py", line 362, in SysFont
    return constructor(fontname, size, set_bold, set_italic)
  File "C:\Users\Fazelifar\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pygame\sysfont.py", line 285, in font_constructor
    font = pygame.font.Font(fontpath, size)
pygame.error: font not initialized

и вот мой код:

myfont = pygame.font.SysFont(None, 15)
def txt_display (txt , color , x , y):
   txt = lala.render(txt , True , black)
   main.blit(txt , (x , y))

помогите плз Я застрял

1 Ответ

2 голосов
/ 04 ноября 2019

pygame необходимо инициализировать, прежде чем можно будет создать экземпляр Font или SysFont. Точнее, модуль pygame.font должен быть инициализирован.

pygame.font.init()

Но обратите внимание, pygame.init() также инициализирует модуль pygame.font. pygame.init() инициализирует все импортированные модули pygame.

Имя экземпляра pygame.font.SysFont равно myfont, а не lala. Так должно быть:

txt = lala.render(txt , True , black)

txt = myfont.render(txt , True , black)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...