Использование pygame.Surface.blit внутри класса

Я могу позвонить в мой класс только один раз. Мой код:

class fish:
    def __init__(self, x, y, image, speed):
        self.x = x
        self.y = y
        self.image = image
        self.speed = speed
    def be(self):
        screen.blit(self.image, (self.x, self.y))
        self.x -= self.speed
        if boot.x+36 > self.x and boot.x < self.x+5:
            if boot.y+34 > self.y and boot.y < self.y+5:
                boot.live -= 1
                boot.x = 100
                boot.y = 460
fishes = []
fishes.append(fish(900, 300, fish_1, 1))

И когда я называю объект "рыба" внутри или вне игрового цикла (fishes.append(fish(900, 300, fish_1, 1))Я получил ошибку:

TypeError: 'fish' object is not callable

1 ответ

Решение

Мое первое предположение - у вас есть переменная fish где-то в вашем коде. Переименуйте класс в Fish а также вызов конструктора Fish(900, 300, fish_1, 1) и это должно быть хорошо.

Другие вопросы по тегам