Выдает ошибку об инициализации font
Сделал класс кнопки вроде все правильно, но почему- то пайтон выдает вот такую ошибку
Traceback (most recent call last):
File "D:\ITVDN\PYTHON\pythonProject\bookPractic\pygame\rocket\main.py", line 33, in <module>
run()
File "D:\ITVDN\PYTHON\pythonProject\bookPractic\pygame\rocket\main.py", line 20, in run
play_button = Button(r_setting, screen, "Play")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\ITVDN\PYTHON\pythonProject\bookPractic\pygame\rocket\button.py", line 14, in __init__
self.font = pygame.font.Font(None, 48)
^^^^^^^^^^^^^^^^^^^^^^^^^^
pygame.error: font not initialized
Process finished with exit code 1
pygame.error: font not initialized
Код напишу ниже, подскажите что не так, почему выдает такую ошибку. Указывал и полный пусть, и указывал просто название шрифта , ничего не помогло
import pygame.font
class Button:
def __init__(self, r_settings, screen, msg):
self.screen = screen
self.screen_rect = screen.get_rect()
# Назначение размеров и свойств кнопок.
self.width, self.height = 400, 200
self.button_color = (0, 255, 0)
self.text_color = (255, 255, 255)
self.font = pygame.font.SysFont(None, 48)
# Построение объекта rect кнопки и выравнивание по центру экрана.
self.rect = pygame.Rect(0, 0, self.width, self.height)
self.rect.center = self.screen_rect.center
# Сообщение кнопки создается только один раз.
self.prep_msg(msg)
def prep_msg(self, msg):
self.msg_image = self.font.render(msg, True, self.text_color, self.button_color)
self.msg_image_rect = self.msg_image.get_rect()
self.msg_image_rect.center = self.rect.center
def draw_button(self):
self.screen.fill(self.button_color, self.rect)
self.screen.blit(self.msg_image, self.msg_image_rect)
Ответы (1 шт):
Автор решения: HungryCd
→ Ссылка
Разобрался,с трудом но получилось, в функции запуска run() нужно было написать pygame.init(), но опять назревает вопрос, эта инициализация есть в функции check_evens() , но если она там стоит, тогда ошибка, а перенес ее в run() и все заработало