Почему я получаю это предупреждение?

#pygame #pep

#pygame #pep

Вопрос:

Я получаю все эти pep-предупреждения в моей Pygame:

 Expected type 'bool', got 'int' instead
  

Все они связаны с переменными, подобными этому, Где я определяю шрифт и т. Д. Для своего текста:

 welcome = welcome_font.render("Welcome to mosquito hunt! ", 1, (0, 0, 0))
  

Кто-нибудь знает, почему и как исправить?

Комментарии:

1. Второй аргумент для рендеринга antialias , предположительно, должен быть логическим ( True ), а не целым числом ( 1 ) , хотя я бы предположил, что он будет нормально работать с любым значением истинности .

Ответ №1:

2-й аргумент render является логическим и управляет инициализацией. Это должно быть True , а не 1 :

 welcome = welcome_font.render('text', True, (0, 0, 0))
  

Комментарии:

1. Спасибо, это было оно

Ответ №2:

Кто-нибудь знает, почему

Вы получаете предупреждение «Ожидаемый тип ‘bool’, вместо этого получил ‘int'», потому что в каком-то месте вы передаете int where Python ожидает bool .

и как это исправить?

В том месте, где вы передаете an int , а Python ожидает a bool , передайте a bool вместо an int .

Наиболее вероятное место здесь:

 welcome = welcome_font.render("Welcome to mosquito hunt! ", 1, (0, 0, 0))
#                                                           ↑
  

В документации для pygame.font.Font.render(text, antialias, color, background=None) -> Surface говорится:

Аргумент antialias является логическим: если true, символы будут иметь гладкие края.

Итак, второй аргумент вызова должен быть логическим, т. Е. Он должен быть либо True или False :

 welcome = welcome_font.render("Welcome to mosquito hunt! ", True, (0, 0, 0))
#                                                           ↑↑↑↑