我有一个Sprite
课程,但我在一个小组中。每次单击鼠标按钮,我都想从类中调用一个函数。应该为组中的每个项目调用该函数。
我只知道如何从组中的每个项目调用update
函数,但如果不是每次鼠标点击都调用该函数,代码就会非常慢。我会在每一帧上调用它。
为了更清楚,我将举一个例子:
class sprite_object(pygame.sprite.Sprite):
def __init__(self):
super(sprite_object, self).__init__()
def on_mouse_click(self):
#when the mouse is clicked to some stuff
pass
def update(self):
#do some stuff every frame
pass
sprite_object_1 = sprite_object()
sprite_object_2 = sprite_object()
group_of_sprites = pygame.sprite.Group()
group_of_sprites.add(sprite_object_1, sprite_object_2)
现在,我可以调用on_mouse_click
函数中的update
函数,但这会使代码效率低下。
如何从组中的每个对象调用on_mouse_click
函数?
答案 0 :(得分:1)
精灵组对象的sprites()
方法返回此精灵组对象包含的精灵列表。
您可以遍历此列表(即您的精灵组groupe_of_sprites
拥有的所有精灵)来调用每个人on_mouse_click()
的{{1}}方法:
sprite_object