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()不是问题,因为它已经在别处测试过并且有效。
非常感谢。
答案 0 :(得分:0)
您的Torch
课程中有拼写错误,应该是__init__
,而不是__int__
。因此,我们会调用继承的__init__
Item
方法。