我在Pygame示例aliens.py
中添加冲突时遇到问题我想添加一个碰撞检测,让外星人的UFO在相互碰撞时爆炸。
以下是程序中碰撞的代码:
# Detect collisions
for alien in pygame.sprite.spritecollide(player, aliens, 1):
boom_sound.play()
Explosion(alien)
Explosion(player)
SCORE = SCORE + 1
player.kill()
for alien in pygame.sprite.groupcollide(shots, aliens, 1, 1).keys():
boom_sound.play()
Explosion(alien)
SCORE = SCORE + 1
for bomb in pygame.sprite.spritecollide(player, bombs, 1):
boom_sound.play()
Explosion(player)
Explosion(bomb)
player.kill()
#for alien in pygame.sprite.spritecollide(aliens):
#boom_sound.play()
#Explosion(alien)
最后一个for循环是我创建的循环。我显然需要3个参数,但我不确定需要什么其他参数。请帮助!
答案 0 :(得分:1)
来自pygame.sprite(http://www.pygame.org/docs/ref/sprite.html#pygame.sprite.spritecollide)的手册页实际上有4个参数,它们是:
我猜你想要发现两个外星人不明飞行物之间的碰撞。你需要这样的东西:
for a in aliens :
for alien in pygame.sprite.spritecollide(a, aliens, 1):
boom_sound.play()
Explosion(alien)