我遇到这个问题。该角色应该与块(硬币)碰撞以获得积分,然后该块应该消失,但它不起作用,所以我一遍又一遍地获得积分。
block_hit_list=pygame.sprite.spritecollide(self, self.level.coin_list, False)
for block in block_hit_list:
block_hit_list.remove(block)
答案 0 :(得分:2)
你可能意味着从关卡中的硬币中移除碰撞的块。为此,请将for循环更改为:
for block in block_hit_list:
self.level.coin_list.remove(block)
或者,只需将dokill
的{{1}}参数设置为True(感谢@snark):
spritecollide