2016-01-06 81 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