Python派生类缺少一个必需的位置参数

时间:2015-06-22 20:16:03

标签: python pygame super derived-class

  class Item(pygame.sprite.Sprite):
    __metaclass__ = ABCMeta

    def __init__(self, pos_x, pos_y, image_pass):
        self.image = image_pass
        self.rect = self.image.get_rect()
        self.rect.x = pos_x
        self.rect.y = pos_y

    def draw(self, main_surface):
        main_surface.blit(self.image, (self.rect.x, self.rect.y))


class Torch(Item):
    def __int__(self, pos_x, pos_y):
        factor = 5
        self.battery = 100
        self.brightness = 2
        self.torch_image = resize(pygame.image.load("Torch.png"), factor)

        super(Torch, self).__init__(pos_x, pos_y, self.torch_image)

ERROR MESSAGE:TypeError: init ()缺少1个必需的位置参数:' image_pass'

我称之为火炬的对象: 火炬=火炬(90,450)

我试图加载图像以传递给基类...项目。在Torch类中,我调用了基类构造函数,并将对象定义给出的x和y传递给它。 但每当我尝试传递" self.torch_image"时,它会给出上面显示的错误信息。

Resize()不是问题,因为它已经在别处测试过并且有效。

非常感谢。

1 个答案:

答案 0 :(得分:0)

您的Torch课程中有拼写错误,应该是__init__,而不是__int__。因此,我们会调用继承的__init__ Item方法。