Класс кнопки выдает серию неожиданных сообщений об ошибках ⇐ Python
Класс кнопки выдает серию неожиданных сообщений об ошибках
В настоящее время я работаю над программированием системы классов для кнопок и столкнулся с проблемой после изучения некоторых руководств. Я постоянно сталкиваюсь с проблемой, что font.render не является реальной функцией в pygame, несмотря на то, что несколько разных источников говорят об обратном. Экран pygame также не работает и просто отображается черным цветом с сообщением об ошибке, что он не отвечает. пока я не удалю эти строки кода. Мне также сказали, что timer не определен в том же отображении ошибок, хотя я не думаю, что это каким-либо образом влияет на классы. Не только это, но и удаление всех этих ошибочных строк кода, чтобы проверить, работает ли остальная часть программы без них, я столкнулся с еще одной ошибкой, в которой говорилось, что я не могу ввести 5 переменных в pygame.draw.rect поскольку он ожидает максимум 4. Они делают это без проблем в видеоуроке, которому я следую, и я не понимаю, почему.
Я имею в виду это видео как руководство специально для классов кнопок: Я использую этот сайт для изучения Python в целом: http://programarcadegames.com/
Моя программа (указанная внизу) продолжает выдавать сообщение об ошибке: Traceback (последний вызов последний): Файл «I:/FileName1/FileName2/FileName3/ProgramName.py», строка 122, в EXITBTN.draw() Файл "I:/FileName1/FileName2/FileName3/ProgramName.py", строка 70, на рис. buttontext = font.render(self.text,True,self.textcolor) NameError: глобальное имя «шрифт» не определено
#Фрагмент моей программы:
#Импорты импортировать pygame pygame.init() импорт математики импортировать систему импортировать ОС импортировать Ткинтер класс Кнопка(): def __init__(self,text,x,y,width,height,basecolor,outlinecolor,textcolor,enabled): self.text = текст self.x = x self.y = y self.width = ширина self.height = высота self.basecolor = базовый цвет self.outlinecolor = цвет контура self.textcolor = цвет текста self.enabled = включено защита ничья (сам): buttontext = font.render(self.text,True,self.textcolor) buttonrect = pygame.rect.Rect((self.x,self.y),(self.width,self.height)) pygame.draw.rect(экран,self.basecolor,buttonrect,0,5) pygame.draw.rect(экран,self.outlinecolor,buttonrect,2,5) screen.blit(buttontext,(self.x+3,self.y+3),) #Создание экземпляров класса для общей программы EXITBTN = Кнопка(" ",1000,15,25,25,КРАСНЫЙ,ЧЕРНЫЙ,ЧЕРНЫЙ,Истина) #Основная программа пока сделано == Ложь: для события в pygame.event.get(): если event.type == pygame.QUIT: сделано = Истина #Очищает экран screen.fill(БЕЛЫЙ) #Рисует поле выхода в верхнем левом углу EXITBTN.draw() #Начинаем рисовать на экране #Рисует поле выхода в верхнем левом углу #Обновляет экран тем, что было нарисовано pygame.display.flip() #Устанавливаем тактовую частоту часы.тик(30) таймер.тик(30) #Выходим из программы pygame.quit() Я все еще новичок в Python, поэтому буду очень признателен за любые советы. Хотя я бы предпочел, чтобы вы попытались помочь мне решить эту проблему в качестве приоритета, я был бы рад, если бы люди могли показать мне примеры готовых классов кнопок, чтобы дать мне представление о том, что я, возможно, захочу изменить в своих собственных, как я уже сделал. пока видел только один подходящий пример (из видео, упомянутого выше).
В настоящее время я работаю над программированием системы классов для кнопок и столкнулся с проблемой после изучения некоторых руководств. Я постоянно сталкиваюсь с проблемой, что font.render не является реальной функцией в pygame, несмотря на то, что несколько разных источников говорят об обратном. Экран pygame также не работает и просто отображается черным цветом с сообщением об ошибке, что он не отвечает. пока я не удалю эти строки кода. Мне также сказали, что timer не определен в том же отображении ошибок, хотя я не думаю, что это каким-либо образом влияет на классы. Не только это, но и удаление всех этих ошибочных строк кода, чтобы проверить, работает ли остальная часть программы без них, я столкнулся с еще одной ошибкой, в которой говорилось, что я не могу ввести 5 переменных в pygame.draw.rect поскольку он ожидает максимум 4. Они делают это без проблем в видеоуроке, которому я следую, и я не понимаю, почему.
Я имею в виду это видео как руководство специально для классов кнопок: Я использую этот сайт для изучения Python в целом: http://programarcadegames.com/
Моя программа (указанная внизу) продолжает выдавать сообщение об ошибке: Traceback (последний вызов последний): Файл «I:/FileName1/FileName2/FileName3/ProgramName.py», строка 122, в EXITBTN.draw() Файл "I:/FileName1/FileName2/FileName3/ProgramName.py", строка 70, на рис. buttontext = font.render(self.text,True,self.textcolor) NameError: глобальное имя «шрифт» не определено
#Фрагмент моей программы:
#Импорты импортировать pygame pygame.init() импорт математики импортировать систему импортировать ОС импортировать Ткинтер класс Кнопка(): def __init__(self,text,x,y,width,height,basecolor,outlinecolor,textcolor,enabled): self.text = текст self.x = x self.y = y self.width = ширина self.height = высота self.basecolor = базовый цвет self.outlinecolor = цвет контура self.textcolor = цвет текста self.enabled = включено защита ничья (сам): buttontext = font.render(self.text,True,self.textcolor) buttonrect = pygame.rect.Rect((self.x,self.y),(self.width,self.height)) pygame.draw.rect(экран,self.basecolor,buttonrect,0,5) pygame.draw.rect(экран,self.outlinecolor,buttonrect,2,5) screen.blit(buttontext,(self.x+3,self.y+3),) #Создание экземпляров класса для общей программы EXITBTN = Кнопка(" ",1000,15,25,25,КРАСНЫЙ,ЧЕРНЫЙ,ЧЕРНЫЙ,Истина) #Основная программа пока сделано == Ложь: для события в pygame.event.get(): если event.type == pygame.QUIT: сделано = Истина #Очищает экран screen.fill(БЕЛЫЙ) #Рисует поле выхода в верхнем левом углу EXITBTN.draw() #Начинаем рисовать на экране #Рисует поле выхода в верхнем левом углу #Обновляет экран тем, что было нарисовано pygame.display.flip() #Устанавливаем тактовую частоту часы.тик(30) таймер.тик(30) #Выходим из программы pygame.quit() Я все еще новичок в Python, поэтому буду очень признателен за любые советы. Хотя я бы предпочел, чтобы вы попытались помочь мне решить эту проблему в качестве приоритета, я был бы рад, если бы люди могли показать мне примеры готовых классов кнопок, чтобы дать мне представление о том, что я, возможно, захочу изменить в своих собственных, как я уже сделал. пока видел только один подходящий пример (из видео, упомянутого выше).
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Заменить серию одного и того же символа на количество его вхождений в серию.
Anonymous » » в форуме Python - 0 Ответы
- 32 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Заменить серию одного и того же символа на количество его вхождений в серию.
Anonymous » » в форуме Python - 0 Ответы
- 30 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Заменить серию одного и того же символа на количество его вхождений в серию.
Anonymous » » в форуме Python - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-