@Artin24
Начинающий

Выдаёт ошибку при создании тестовой кнопки pygame_gui, как это исправить?

Делаю меню для игры и попутно знакомлюсь с pygame_gui. При создании первой тестовой кнопки сразу же появилась ошибка
Traceback (most recent call last):
  File "C:\Users\Людмила\Desktop\Программирование\RPG\rpg.py", line 29, in <module>
    manager=manager)
  File "C:\Users\Людмила\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pygame_gui\elements\ui_button.py", line 116, in __init__
    self.rebuild_from_changed_theme_data()
  File "C:\Users\Людмила\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pygame_gui\elements\ui_button.py", line 539, in rebuild_from_changed_theme_data
    self.rebuild()
  File "C:\Users\Людмила\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pygame_gui\elements\ui_button.py", line 611, in rebuild
    'selected', 'active'], self.ui_manager)
  File "C:\Users\Людмила\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pygame_gui\core\drawable_shapes\rect_drawable_shape.py", line 35, in __init__
    self.full_rebuild_on_size_change()
  File "C:\Users\Людмила\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pygame_gui\core\drawable_shapes\rect_drawable_shape.py", line 90, in full_rebuild_on_size_change
    self.compute_aligned_text_rect()
  File "C:\Users\Людмила\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pygame_gui\core\drawable_shapes\drawable_shape.py", line 291, in compute_aligned_text_rect
    self.theming['font'].size(self.theming['text']))
AttributeError: 'NoneType' object has no attribute 'size'

Вот мой код
import pygame
import random
from os import path
import pygame_gui 
from win32api import GetSystemMetrics
from menu import menu, check_menu

FPS = 60
#Цвета
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
#Ширина и высота для размещения спрайтов 
WIDTH = GetSystemMetrics(0)
HEIGHT = GetSystemMetrics(1)	

#Переменная для проверки выхода из игры(на данный момент просто нажатие на esc)
check_menu = check_menu()	
#Переменная manager
manager = pygame_gui.UIManager((WIDTH, HEIGHT))
#Группа со всеми спрайтами
all_sprites = pygame.sprite.Group()
pygame.init()
pygame.mixer.init()
#Создание и параметры окна
screen = pygame.display.set_mode((0, 0), pygame.HWSURFACE|pygame.DOUBLEBUF|pygame.FULLSCREEN)
#Часы 
clock = pygame.time.Clock()
#Проверка запуска меню
game_over = True
#Тестовая кнопка
hello_button = pygame_gui.elements.UIButton(relative_rect=pygame.Rect((WIDTH/2, HEIGHT/2), (100, 50)),
											text='Say Hello!',
											manager=manager)

running = True
while running:
	time_delta = clock.tick(60)/1000.0
	#Меню
	if game_over:
		menu()
	#Проверка вышел ли пользователь из игры
	if not check_menu:
		running = False
	clock.tick(FPS)	
	for event in pygame.event.get():
		if event.type == pygame.QUIT:
			running = False

		manager.process_events(event)
	manager.update(time_delta)

	#Рендеринг
	screen.fill(BLACK)
	manager.draw_ui(screen)
	pygame.display.flip()

pygame.quit()
ттттььь

Я зашел в файл, в котором по словам интерпретатора произошла ошибка, и... запутался. Вроде функции знакомые, но чем дальше читаю, тем больше путаюсь.
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы