мой код не видит переменную класса (объект)? при вызове другой функции в том же классе

#python #function #class

Вопрос:

в настоящее время я создаю программу на python с помощью pygame. И в настоящее время я пишу класс, который проверяет, есть ли какие-либо объекты в пределах досягаемости.

это вызов в цикле программы, он хочет, чтобы я прошел через имя класса, которое я не должен был делать….. верно?

 self.AuraDetection([cat.pos, mouse.pos], cat, mouse)
 

Ниже приведена функция, переменная self.counter не распознается, даже если инициализация переменной находится в функции инициализации класса.

     def AuraDetection(self, animals, cat, mouse):
    if abs(animals[0][0] - animals[1][0]) <= 150 and abs(animals[0][1] - animals[1][1]) <= 150 and self.counter == 0:
        cat.StateChange()
        self.counter = 1
 

Вот функция инициализации

  def __init__(self):
    super(self)
    screen = pg.display.get_surface()
    self.width = 800
    self.height = 600
    self.fps = 60
    self.counter = 0
 

все они относятся к одному и тому же классу.

https://github.com/freercurse/Boids/blob/master/main.py

вот ссылка на весь код в этом файле, если вы хотите просмотреть его целиком

Комментарии:

1. Вы называете это неправильным. main.start(main) должно быть main().start()

2. огромное спасибо, все исправил 🙂