Skip to content

Commit 09e70e1

Browse files
committed
Rewrite groupcollide function
1 parent 7d27a8b commit 09e70e1

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

src_py/sprite.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1723,17 +1723,13 @@ def groupcollide(groupa, groupb, dokilla, dokillb, collided=None):
17231723
# pull the collision function in as a local variable outside
17241724
# the loop as this makes the loop run faster
17251725
sprite_collide_func = spritecollide
1726+
for group_a_sprite in groupa:
1727+
collisions = sprite_collide_func(group_a_sprite, groupb, dokillb, collided)
1728+
if collisions:
1729+
crashed[group_a_sprite] = collisions
17261730
if dokilla:
1727-
for group_a_sprite in groupa.sprites():
1728-
collision = sprite_collide_func(group_a_sprite, groupb, dokillb, collided)
1729-
if collision:
1730-
crashed[group_a_sprite] = collision
1731-
group_a_sprite.kill()
1732-
else:
1733-
for group_a_sprite in groupa:
1734-
collision = sprite_collide_func(group_a_sprite, groupb, dokillb, collided)
1735-
if collision:
1736-
crashed[group_a_sprite] = collision
1731+
for group_a_sprite in crashed:
1732+
group_a_sprite.kill()
17371733
return crashed
17381734

17391735

0 commit comments

Comments
 (0)