Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 31, 2020 21:58:14

garrip91
Зарегистрирован: 2019-07-08
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

AttributeError: 'builtin_function_or_method' object has no attribute 'get_rect' в библиотеке "pygame"

Всем здравствуйте!

Сегодня в процессе практического изучения библиотеки “pygame” столкнулся с такой проблемой:
“ AttributeError: ‘builtin_function_or_method’ object has no attribute ‘get_rect’ ”

Это произошло до того, как я добавил ещё одну строку в свой код:
“ self.image.set_colorkey(BLACK) ”

После добавления этого участка кода появляется та же ошибка, но чуть видоизменённая:
“ AttributeError: ‘builtin_function_or_method’ object has no attribute ‘set_colorkey’ ”

Комментирую добавленную строку и снова вижу первую ошибку! :-(

Что я делаю не так? Разве библиотека “pygame” не содержит эти атрибуты???

Свой код прилагаю к настоящей теме:

Прикреплённый файлы:
attachment game.py (4,9 KБ)

Офлайн

#2 Фев. 1, 2020 23:48:23

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

AttributeError: 'builtin_function_or_method' object has no attribute 'get_rect' в библиотеке "pygame"

Очевидно, что self.image это метод. Метод - это функция, её надо сначала вызвать.



Офлайн

#3 Фев. 2, 2020 09:33:44

garrip91
Зарегистрирован: 2019-07-08
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

AttributeError: 'builtin_function_or_method' object has no attribute 'get_rect' в библиотеке "pygame"

FishHook
Очевидно, что self.image это метод. Метод - это функция, её надо сначала вызвать.
В смысле вызвать, если у меня за пределами функции нигде нет никаких упоминаний об этом атрибуте?…
Интерпретатор ругается на атрибут, который, как я полагаю, должен где-то вне классов, объектов, функций и прочей байды находиться (ну раз интерпретатор ругается).
А здесь я этот атрибут даже через поиск искал.
Его нигде, кроме как в теле метода (“ def __init__(self): ”), нету!

Отредактировано garrip91 (Фев. 2, 2020 10:06:36)

Офлайн

#4 Фев. 3, 2020 14:29:17

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

AttributeError: 'builtin_function_or_method' object has no attribute 'get_rect' в библиотеке "pygame"

предполагаю что виной всему вот эта строка

 player_img = pygame.image.load(os.path.join(img_folder, 'p1_jump.png')).convert
convert() это метод. Метод - это функция, её надо вызвать. А у вас в player_img в таком виде попадает не объект Surface а функция(метод) convert. Естественно у функции нету ни атрибута get_rect() ни set_colorkey()



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 3, 2020 14:31:30)

Офлайн

#5 Фев. 3, 2020 20:43:07

garrip91
Зарегистрирован: 2019-07-08
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

AttributeError: 'builtin_function_or_method' object has no attribute 'get_rect' в библиотеке "pygame"

PEHDOM
предполагаю что виной всему вот эта строка
Я понял, что я в данной строке скобки в конце упустил (спасибо, что обратили моё внимание на это, кстати!).

Я эти скобки поставил, но теперь я вижу другую ошибку:
“ pygame.error: cannot convert without pygame.display initialized ”

Ну что это ещё за бред такой??? :-(

Отредактировано garrip91 (Фев. 3, 2020 21:01:00)

Офлайн

#6 Фев. 3, 2020 21:14:49

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

AttributeError: 'builtin_function_or_method' object has no attribute 'get_rect' в библиотеке "pygame"

garrip91
Я эти скобки поставил, но теперь я вижу другую ошибку:
“ pygame.error: cannot convert without pygame.display initialized ”
Ну очевидно, программа вам сообщает, что перед тем как делать convert() нужно инициализировать pygame.display
https://www.pygame.org/docs/ref/display.html



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 3, 2020 21:15:13)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version