Использование 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)
и это должно быть хорошо.