2015-09-09 3 views
1

Я получаю сообщение об ошибке:Получение ошибки из функции Pygame шрифта

Traceback (most recent call last): 
    File "C:\Users\USER\Desktop\testclientUDP.py", line 61, in <module> 
    screen(TEXT, WHITE) 
    File "C:\Users\USER\Desktop\testclientUDP.py", line 38, in screen 
    font = pygame.font.SysFont('Calibri', 25, True, False) 
AttributeError: 'list' object has no attribute 'font' 

Мой код:

def screen(TEXT, COLOUR): 
    screen1.fill(COLOUR) 
    font = pygame.font.SysFont('Calibri', 25, True, False) 
    text = font.render(TEXT, True, BLACK) 
    screen1.blit(text, [150, 230]) 
    pygame.display.flip() 

Как я могу это исправить?

+0

Можете ли вы показать, где вы инициализации '' pygame' – nagyben

+0

импорта Pygame из pygame.locals импорта * pygame.init() 'Прямо в начале и я инициализирую экран перед функцией и вызываю функцию в цикле while' while True: screen (TEXT, WHITE) pygame = pygame.event.get() ' – ferret249

+0

Я бы предположил, что вы забыли называть 'pygame.init()' перед вашим циклом. См. Ответ ниже – nagyben

ответ

0

Вам нужно позвонить pygame.font.init() или pygame.init() перед любой другой функции

Согласно documentation

pygame.font.init()

initialize the font module

This method is called automatically by pygame.init(). It initializes the font module. The module must be initialized before any other functions will work

+0

В соответствии с комментариями вызывается 'pygame.init()'. – Matthias

+0

OP отредактировал свой комментарий после моего опубликования. Такова жизнь – nagyben

+1

OK, но объект ''list' не имеет атрибута 'font'', который ясно показывает, что' pygame' не то, что должно быть. С помощью вашего решения вы вызываете 'init()' в объекте списка. – Matthias

Смежные вопросы