ошибка атрибута при столкновении двух объектов - PullRequest
0 голосов
/ 14 декабря 2018

Я храню эту ошибку и не могу ее устранить.Игра запустится, и тогда мой корабль будет поражен чем-то, и появится эта ошибка.Я пытался удалить ошибочные строки, но это только вызывает больше проблем.

Я почти уверен, что в моем классе правильно определен «центр» ... Я не могу понять, что может быть не так.

Вот ошибка и код.

Любое понимание будет полезным!

Traceback (последний вызов был последним): Файл "ShipsAndAliens", строка 364в файле pow = Pow (hit.rect.center) "ShipsAndAliens.py", строка 209, в init self.rect.center = center AttributeError: 'builtin_function_or_method' объект не имеет атрибута 'center'

class Pow(pygame.sprite.Sprite):

    def __init__(self,center):

        pygame.sprite.Sprite.__init__(self)

        self.type = random.choice(['shield','gun'])
        self.image = powerup_images[self.type]
        self.image.set_colorkey(BLACK)
        self.rect = self.image.get_rect
        self.rect.center = center    #line 209
        self.speedy = 5

Тогда в моем основном игровом цикле:

hits = pygame.sprite.spritecollide(player,mobs,True,pygame.sprite.collide_circle)

if hits:
    for hit in hits:
        player.shield -= 20
        expl = Explosion(hit.rect.center,'sm')
        all_sprites.add(expl)

        if random.random () > .9:
            pow = Pow(hit.rect.center)     #line 364

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...