Задать вопрос
@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()


я уже в таком отчаянии, что хочется всё бросить. Сидишь, час пялишься и не понимаешь, почему не работает.
  • Вопрос задан
  • 403 просмотра
Подписаться 1 Простой 6 комментариев
Решения вопроса 1
@YariKartoshe4ka
Что за новый магический метод

def __init(self):

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

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

Похожие вопросы