为什么从精灵类中省略 update() 会影响组方法调用?



self.groupofsprites = pygame.sprite.Group()

如果上面组中的每个精灵都是一个类,并且我希望以某种方式更新它们,我会调用self.groupofsprites.update()

update(( 方法必须在精灵的类中定义吗?从类中省略它不会引起异常,但通常会更新的内容现在不会。尝试调用其他方法(例如self.groupofsprites.changecolor()( 返回一个属性错误。

阅读文档:组和精灵

Group已经有方法.update()。此方法在组中的每个元素中运行.update()。如果您将默认具有(空(方法Sprites.update()那么它可以正常工作。如果你想放其他类,那么你也必须在这个类中定义.update()

Group()没有方法.changecolor(),您必须定义自己的class MyGroup(Group)方法.changecolor()。如果此方法将为组中的每个元素执行.changecolor(),那么您将不得不放置具有此方法的类 - 然后它也可以正常工作而不会出错。

最新更新