当精灵在pygame中发生碰撞时如何调用另一个函数

问题描述

|| 我有以下代码,当它们与
snake
子图碰撞时,将用来删除ѭ0in中的所有子图。我想知道的是,当
snake
精灵与
apple_list
的精灵碰撞时,使事情发生的最佳方法是什么。例如,如果我想每次发生声音时,最简单的方法是什么?
hitApples = pygame.sprite.spritecollide(snake,apple_list,True)
    

解决方法

        不幸的是,在pygame的精灵冲突期间没有回调管理。 在您的情况下,您应该使用以下内容:
hitApples = pygame.sprite.spritecollide(snake,apple_list,True)
if hitApples:
    callback()
    ,        您可以为苹果精灵分配一个析构函数方法,以在杀死该精灵时播放声音:
class apple(object):

    ...

    def __del__(self):
        play_sound(\"fing.ogg\")