2013-06-04 2 views
0

Одна проблема идет, другой comes- я получил еще один (вероятно, так же, как очевидно) проблема:Кортеж ключ словаря не может быть получен

'tuple' object is not callable 

из

for a in range(current_view_y,current_view_y+60): 
    for b in range(current_view_x,current_view_x+80): 
     if (b,a) in unervise: 
      screen.blit(Surface(unervise[(b,a)].color())) 

Я не подумайте, что это действительно связано с кодом pygame, просто другим битом (так что я ДЕЙСТВИТЕЛЬНО экран на поверхность игнорируется. (предыдущий вопрос со кодом генерации словаря: here Еще раз прошу прощения за то, насколько очевидно это, вероятно, - но Я просто не вижу этого (d Я не могу опубликовать его по предыдущему вопросу). Большинство тем на этом говорят, что недостающая запятая виновата, но у меня ее есть.

+0

Пожалуйста сделайте включать полный отслеживающий , –

ответ

2

Вы пытаетесь использовать атрибут вашего block класса .color как метод, но это кортеж:

screen.blit(Surface(unervise[(b,a)].color())) 

Удалите излишки ():

screen.blit(Surface(unervise[(b,a)].color)) 
+0

Я продолжаю делать эти вещи - проблема в том, что кто-то в моем доме не знает ни одного пирога, так что я не могу помочь - спасибо! –

+0

Никогда не знал, что я могу это сделать! Хотя (по моей вине, конечно), я только что ударил компьютер, запустив мой код, даже перезапустив его. Я сейчас очень смущен. –

+0

Все, что сломало ваш компьютер, не имеет ничего общего с Python, я могу сказать вам многое. :-) –

Смежные вопросы