2016-01-06 79 views
-1

我很困扰这个。角色应该与块(硬币)碰撞以获得积分,然后该块应该消失,但它不起作用,所以我一直重复得分。如何删除块(pygame)?

block_hit_list=pygame.sprite.spritecollide(self, self.level.coin_list, False) 
for block in block_hit_list: 
    block_hit_list.remove(block) 

回答

2

您可能的意思是从等级中的硬币中移除碰撞的块。要做到这一点,for循环改变这样:

for block in block_hit_list: 
    self.level.coin_list.remove(block) 

另外,刚刚成立的spritecollidedokill参数设置为True(感谢@snark):

pygame.sprite.spritecollide(self, self.level.coin_list, True) 
+2

或者只是dokill设置为True – stark

+0

它的工作!非常感谢你! :) – Dlopes98