1

わかりました、ここにコードがあります

lives_group = pygame.sprite.Group()
life_pos = [603,566,529,492]
pos = 0
for life in range(0,ship.lives):
    live = game_display.Life([10, life_pos[pos]])
    lives_group.add(live)

.Life ting は次のようになります。

class Life(pygame.sprite.Sprite):
    def __init__(self, location):
        self.image = pygame.image.load('Spaceship_life.png')
        self.rect = self.image.get_rect()
        self.rect.left, self.rect.top = location

これは私が得るエラーです:

Traceback (most recent call last):
  File "C:\Users\------\My programs\old\GUI based games\Spaceblaster\0.1\main.py", line 17, in <module>
    lives_group.add(live)
  File "C:\Python33\lib\site-packages\pygame\sprite.py", line 360, in add
    sprite.add_internal(self)
  File "C:\Python33\lib\site-packages\pygame\sprite.py", line 163, in add_internal
    self.__g[group] = 0
AttributeError: 'Life' object has no attribute '_Sprite__g'

私の名前を出してすみませんが、それが重要な場合に備えて長さを保持しました

4

1 に答える 1

8

親のコンストラクターを呼び出すことを忘れないでください

class Life(pygame.sprite.Sprite):
    def __init__(self, location):
        super(Life, self).__init__()
        self.image = pygame.image.load('Spaceship_life.png')
        self.rect = self.image.get_rect()
        self.rect.left, self.rect.top = location
于 2013-04-04T01:46:29.623 に答える