2014-03-05 6 views
0

Имея настоящую борьбу, получая эту сортировку. Посмотрел на некоторые другие ответы, и я получаю сообщение об ошибке, что у меня слишком много аргументов.pygame - Как сгруппировать спрайты

Класс, содержащий объекты, которые я хочу добавить.

class Digimon(pygame.sprite.Sprite): 
    def __init__(self,age,weight,strength,defence,speed,intelligence, image): 
     self.age = age 
     self.weight = weight 
     self.strength = strength 
     self.defence = defence 
     self.speed = speed 
     self.intelligence = intelligence 
     self.image = image 

Пытались сделать:

class Digimon(pygame.sprite.Sprite): 
    def __init__(self): 
    pygame.sprite.Sprite.__init__(self,age,weight,strength,defence,speed,intelligence, image) 
    self.age = age 
    self.weight = weight  
    self.strength = strength 
    self.defence = defence 
    self.speed = speed 
    self.intelligence = intelligence 
    self.image = image 

но ошибка относительно количества аргументов. (1, 7).

Player = Digimon(0,2,0,0,0,0, [pygame.image.load("images/koro_1.png"), pygame.image.load("images/koro_2.png"), pygame.image.load("images/koro_3.png") ]) 

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

Любая помощь будет фантастическим: D

редактировать: полный код: http://pastebin.com/uPWEM8bD

+0

_ "но я ошибаюсь относительно количества аргументов." _ Какова фактическая ошибка? Кроме того, вы можете исправить свой второй блок кода? Все ваши задания находятся на одной линии. – Kevin

+0

http://puu.sh/7jUK8.png – user3384265

ответ

2
pygame.sprite.Sprite.__init__(self,age,weight,strength,defence,speed,intelligence, image) 

Базовый класс Sprite не имеет никакой потребности вашего возраста/веса/и т.д. переменных. Просто перейдите в self:

pygame.sprite.Sprite.__init__(self) 
+0

Пропускаю ли я самоархивирование в def __init __ (самость, возраст, вес, сила, оборона, скорость, интеллект, изображение)? – user3384265

+0

Да, вы должны передать аргументы в строке 'Player ='. – Kevin

0

У вас есть 8 аргументов (7 число переменных и образа) в определении, но когда вы это называете вы передаете 7 (6 ints и список изображений).

+0

7 числовых переменных? Я считаю шесть: возраст, вес, сила, оборона, скорость, интеллект. 'self' не учитывается, потому что он передается неявно, без необходимости чего-либо. – Kevin

+0

У меня есть правильное количество аргументов. – user3384265

+0

Да, я вижу это сейчас, неправильно прочитал его в первый раз, спасибо за указание на это. –

Смежные вопросы