在浏览了文档和各种教程站点之后,我仍然无法理解使用矩形边界框碰撞检测以外的任何方法修改 sprite.collide 方法的方式。
我有一个程序需要检测精灵“Hook”与存储在名为“fishies”的精灵组中的任何一条鱼之间的碰撞
我可以用:
for hit in pygame.sprite.spritecollide(self, self.fishies)
使用边界矩形返回碰撞精灵列表,但我想使用圆形或蒙版。
文档说我可以使用:
pygame.sprite.spritecollide(self, self.fishies, False, collided = None)
其中“碰撞”是一个回调函数。但我无法弄清楚这意味着什么。简单写:
pygame.sprite.spritecollide(sprite, group, dokill, pygame.sprite.collide_circle())
产生错误。
任何人都可以提供帮助,还是我误解了它应该如何工作?