2014-04-27 102 views
0

我只能一次打电话给我的班级。 我的代码是:在课堂上使用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 
+2

您定义了一个'fish'类,但是在其他地方您创建了一个与之相同的对象我。将该类重命名为Fish,然后将构造函数调用为'Fish(900,300,fish_1,1)' –

+0

@BartlomiejLewandowski您应该将您的评论发布为答案。 – sloth

回答

1

我的第一个猜测是,你有一条鱼变重命名类为Fish以及构造函数调用Fish(900, 300, fish_1, 1)并且应该没问题