Обновление группы Pygame не требует аргументов - PullRequest
1 голос
/ 02 октября 2011

Я читал о подобных проблемах в других местах, но там говорится просто добавить «self» к определению функции.Когда я проверяю файл сам, у него уже есть ключевое слово self!Вот обратная связь:

Traceback (most recent call last):
  File "C:\Users\Brenda\Documents\The Nick Folder\Mobile Fortress War 3\MFWRT3 - TileClass test\Title.pyw", line 142, in <module>
    SelectServer.main()
  File "C:\Users\Brenda\Documents\The Nick Folder\Mobile Fortress War 3\MFWRT3 - TileClass test\SelectServer.pyw", line 44, in main
    Main.mainloop()
  File "C:\Users\Brenda\Documents\The Nick Folder\Mobile Fortress War 3\MFWRT3 - TileClass test\Main.pyw", line 72, in mainloop
    globals.alltiles.update()
  File "C:\Python32\lib\site-packages\pygame\sprite.py", line 462, in update
    s.update(*args)
TypeError: update() takes no arguments (1 given)

И я назвал это так:

globals.alltiles.update()

Может кто-нибудь помочь?

Ответы [ 2 ]

1 голос
/ 09 мая 2013

Я немного опоздал, но это, вероятно, из-за неправильного объявления метода обновления для каждой карты (который, как я полагаю, является подклассом pygame.sprite.Sprite)

он должен быть объявлен как "def update (self) "а не" def update () "

1 голос
/ 13 октября 2011

Без кода для отладки это будет игра на угадывание, но для дальнейшего использования группы спрайтов создаются следующим образом:

#first create a sprite class
class Card(pygame.sprite.Sprite):
    def __init__(self,img,pos):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load(os.path.join('img','cards', img))
        self.rect = self.image.get_rect()
        self.rect.center = pos

#then create a group
mycards = pygame.sprite.Group()

#then add a sprite to the group
holders.add(Card('ace_spade.jpg',coord))
...