При попытке стереть фон в pygame я получаю это сообщение об ошибке

Я новичок в pygame со вчерашнего дня, и я продолжаю сталкиваться с этой проблемой, когда пытаюсь что-то вывести на экран. Я использую Mac OSX 10.6.8. Я пишу все это в textwrangler и запускаю в терминале с помощью python2.7-32 filename.py

Traceback (most recent call last):
  File "adventure.py", line 35, in <module>
    screen.blit(background(0, 0))
TypeError: 'pygame.Surface' object is not callable

Вот моя программа на Python


person Matthias    schedule 30.12.2012    source источник


Ответы (1)


Попробуйте изменить screen.blit(background(0, 0)) на screen.blit(background,(0, 0)) (без запятой вы рассматриваете background как функцию/вызываемую, а не как параметр. Думайте об этом как о вызове функции с именем background с аргументом (0, 0).). Два обязательных аргумента screen.blit — это source и destination, поэтому запятая после background предоставляет оба аргумента (source — это background, destination — это (0, 0)).

person RocketDonkey    schedule 30.12.2012
comment
О да! Большое спасибо, что объяснили это! Источник и назначение. Таким образом, вы можете в значительной степени screen.blit(pygame.image.load('bg.bmp'),(0, 0)) не создавать переменную для загрузки изображения в первую очередь? Спасибо, сэр! - person Matthias; 31.12.2012
comment
@Matthias Насколько я могу судить, ты понял :) Удачи во всем! Если этот ответ был тем, что вы искали, вы можете щелкнуть маленькую галочку под оценкой ответа, чтобы «принять» его — это означает, что на ваш вопрос был дан ответ, и это эффективно закроет цикл (однако, если это не то, что вы искали, бесплатно бесплатно оставить без проверки, конечно :) ). - person RocketDonkey; 31.12.2012