我有以下一些代码用于删除apple_list
与snake
精灵发生碰撞时的所有精灵。我想知道的是当snake
精灵与来自apple_list
的精灵发生碰撞时,最好的方法是什么。例如,如果我想在每次发生声音时播放声音,那么最简单的方法是什么?
hitApples = pygame.sprite.spritecollide(snake, apple_list, True)
答案 0 :(得分:4)
您可以将析构函数方法分配给在精灵被杀死时播放声音的苹果精灵:
class apple(object):
...
def __del__(self):
play_sound("fing.ogg")
答案 1 :(得分:1)
不幸的是,pygame中的精灵冲突期间没有回调管理。
在你的情况下,你应该使用这样的东西:
hitApples = pygame.sprite.spritecollide(snake, apple_list, True)
if hitApples:
callback()