Задать вопрос
@Span4ev

Что не так? функция blit в pygame: 'Rects' object has no attribute?

Объясните старому дураку, что не так. Уже лицо горит, не понимаю, что не так?

AttributeError: 'Rects' object has no attribute 'model'

Ну смотрю и не вижу причины, ведь те же самые принципы.

ну он пишет:
hero = pg.Surface((40, 50))
hero.fill('blue')
rect = hero.get_rect()
screen.blit(hero, rect)


и я пишу:

self.model = pg.Surface((40, 50))
self.model.fill('black')
self.rect = model.get_rect()
screen.blit(self.model, self.rect)


В чём разница, что у меня ошибка?

class Rects:
	def __init(self):

		self.screen 			= screen
		self.screen_rect 		= screen.get_rect()
		self.screen_bg_color   	= (123, 104, 238)

		self.model = pg.Surface((40, 50))
		self.model.fill('black')
		self.rect = model.get_rect()
		self.rect.bottom = screen_rect.bottom
		self.rect.centerx = screen_rect.centerx

	def update_screen(self, screen):
		screen.fill((123, 104, 238))
		screen.blit(self.model, self.rect)
		pg.display.update()

def start(): 
	pg.init()
	pg.display.set_caption("отчание")
	fpsClock = pg.time.Clock()
	screen = pg.display.set_mode((screen_width, screen_height))
	rects = Rects()
	
	while True:
		check_events()
		rects.update_screen(screen)
		fpsClock.tick(FPS)

start()


я уже в таком отчаянии, что хочется всё бросить. Сидишь, час пялишься и не понимаешь, почему не работает.
  • Вопрос задан
  • 440 просмотров
Подписаться 1 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 1
@YariKartoshe4ka
Что за новый магический метод

def __init(self):

В питоне их названия заканчиваются ещё двумя нижними подчеркиваниями
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽