сообщение об ошибке python AttributeError: объект «Птица» не имеет атрибута «unsetflapped»

avatar
Robo D Writah
8 августа 2021 в 05:19
66
1
0

поэтому я учусь кодировать игры из серии обучающих видео по кодированию. И моя текущая проблема в том, что когда я запускаю игру, я получаю следующую ошибку:

Файл "/home/dev/PycharmProjects/Game6_Flappy_Bird/modules/sprites/bird.py", строка 33, в обновлении self.unsetflapped () AttributeError: объект «Птица» не имеет атрибута «unsetflapped»

Код из "файла спрайтов класса птиц code:

self.is_flapped = False
    self.down_speed = 0
    self.up_speed = 9

    self.bird_idx = idx
    self.bird_idx_cycle = itertools.cycle([0,1,2,1])
    self.bird_idx_change_count = 0

def update(self, boundary_values, time_passed):

    if self.is_flapped:
        self.up_speed -= 60 * time_passed
        self.rect.top -= self.up_speed

        if self.up_speed <= 0:
            self.unsetflapped()
            self.up_speed = 9
            self.down_speed = 0
    else:
        self.down_speed += 40*time_passed
        self.rect.bottom += self.down_speed

    is_dead = False

    if self.rect.bottom > boundary_values[1]:
        is_dead = True
        self.up_speed = 0
        self.down_speed = 0
        self.rect.bottom = boundary_values[1]
    if self.rect.top < boundary_values[0]:
        is_dead = True
        self.up_speed = 0
        self.down_speed = 0
        self.rect.top = boundary_values[1]
    self.bird_idx_change_count +=1
    if self.bird_idx_change_count%5 == 0:
        self.bird_idx = next(self.bird_idx_cycle)
        self.image = list(self.images.values())[self.bird_idx]
        self.bird_idx_change_count = 0
    return is_dead

def setFlapped(self):
    if self.is_flapped:
        self.up_speed = max(12, self.up_speed+1)
    else:
        self.is_flapped = True

def unsetFlapped(self):
    self.is_flapped = False

Я сверил это с исходным кодом, предоставленным наставником, и он точно совпадает, поэтому я надеюсь, что кто-нибудь сможет указать мне, что я делаю неправильно.

Источник

Ответы (1)

avatar
Robo D Writah
8 августа 2021 в 05:38
0

Обратите внимание: я разобрался со своей проблемой. Капитализация букв. Мне нужно было заменить маленькую "f" на заглавную "F"