collisions=pygame.sprite.groupcollide(bullets,aliens,True,True)
gf.update_bullets(bullets,aliens)
self.bullet_width=100
def update_bullets(ai_settings,screen,ship,bullets,aliens):
bullets.update() #将为组bullets中的每一颗子弹调用bullets.update()
#删除已经消失的子弹
for bullet in bullets.copy(): #遍历编组的副本,这样不会删除列表中的条目
if bullet.rect.bottom<=0:
bullets.remove(bullet)
check_collisions(ai_settings,screen,ship,bullets,aliens)
#print(len(bullets)) #显示当前还有多少子弹
def check_collisions(ai_settings,screen,ship,bullets,aliens):
collisions=pygame.sprite.groupcollide(bullets,aliens,True,True)
print(collisions) #打印字典
if len(aliens)==0: #判空
bullets.empty() #清空当前子弹
creat_aliens(ai_settings,screen,aliens,ship) #创建新的外星人群
最后别忘了在主程序中调用更改后的方法~~主要就是参数的变化……