了解碰撞检测方法
pygame提供了两个非常方便的方法可以实现碰撞检测:
pygame.sprite.groupcollide()
两个精灵组中所有的精灵的碰撞检测
groupcollide(group1, group2, dokill1, dokill2, collide = None) -> Sprite_dict
- 如果将
dokill
设置为True
,则发生碰撞的精灵将被自动移除 -
collided
参数是用于计算碰撞的回调函数,如果没用指定,则每个精灵必须有一个rect
属性
pygame.sprite.spritecollide()
判断某个精灵和指定精灵组中的精灵的碰撞
spritecollide(sprite, group, dokill, collided = None) -> Sprite_list
- 如果将
dokill
设置为True
,则指定精灵组中发生碰撞的精灵将被自动移除 -
collided
参数适用于计算碰撞的回调函数,如果没用指定,则每个精灵必须有一个rect
属性 - 返回精灵组中跟精灵发生碰撞的精灵列表
代码实现
![](https://i-blog.csdnimg.cn/blog_migrate/fd60bfb4f263fdc03cd9f4b4e57d8c82.png)
碰撞检测
至此,飞机大战所有模块全部完成,下面附上整个源码
链接:https://pan.baidu.com/s/1brwuqB1Eiwd3MNzDSD07Rw
提取码:pyth
2020.9.5