当前位置:   article > 正文

python中pygame.sprite碰撞检测学习_pygame.sprite.groupcollide

pygame.sprite.groupcollide

pygame中的sprite加上sprite.Group,进行批量的对象碰撞检测太简单了,不仅有多种的碰撞检测模式,还能以各种方式控制处理结果,今天先学习groupcollide的rect碰撞检测,明天再看看几个圆形碰撞,以及对象与group的碰撞。

  1. def _CheckCollide(self):
  2. # print('Check collide.')
  3. # 英雄和敌机碰撞检测(不管双方血量,直接结束游戏)
  4. collide = pg.sprite.groupcollide(self.gs_herolist, self.gs_enemylist, False, True)
  5. if collide:
  6. self._GamePause()
  7. # 英雄和敌机子弹碰撞检测(判断英雄血量,少于1则结束游戏)
  8. collide = pg.sprite.groupcollide(self.gs_enemybulletlist, self.gs_herolist, True, False)
  9. if collide:
  10. # 防止NoneType
  11. try:
  12. for _heros_ in collide.values():
  13. for _hero_ in _heros_:
  14. # 扣血1格,如果死亡则游戏暂停。
  15. self._hero_life_count = _hero_.hit()
  16. except Exception as e:
  17. print('发生异常:', e)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/340265
推荐阅读
相关标签
  

闽ICP备14008679号