AttributeError:' class'对象没有属性' rect'

时间:2016-03-29 14:45:17

标签: python class pygame

我有这堂课:

class Comet(pygame.sprite.Sprite):
def ___init___(self):
    super().__init__()
    self.image = pygame.Surface((100,250))
    self.image.fill(cometL)
    self.rect = self.image.get_rect()
    self.rect.y = 800
    self.rect.x = 100
def update(self):
    self.rect.y -= 1+2*speed
def reset(self):
    self.rect.x = randint(0,700)
    self.rect.y = randint(1000,2000)

我试着在这里使用它:

    comet1  = Comet()
    comet1.rect.x = 100
    comet1.rect.y = 800
    comets.add(comet1)

但是当我这样做时,我收到了这个错误:

文件"",第36行,in     comet1.rect.x = 100

属性错误:'彗星'对象没有属性' rect'

即使班级确实如此(我认为,我对班级来说还是新手)

1 个答案:

答案 0 :(得分:3)

您对__init__的定义是错误的。您使用了三个下划线(___init___),因此在实例化类时不会调用此函数。

这意味着,self.rect = self.image.get_rect()行未被调用,因此没有rect属性。