【读书笔记《Android游戏编程之从零开始》】18.游戏开发基础(碰撞检测)
1.矩形碰撞 所谓矩形碰撞,就是利用两个矩形之间的位置关系来进行判断,如果矩形的像素在另外一个矩形之中,或者之上都可以认为这两个矩形发生了碰撞。 如果单纯的去考虑哪些情况会判定两个矩形发生碰撞,倒不如反思考虑两个矩形之间不发生碰撞的几种情况。其实两个矩形不发生碰撞的情况就上下左右这四种。 下面通过实例项目来完成对应的四种判定。 先看实例效果图: 新建项目,游戏框架为 SurfaceView游戏框架,修改 MySurfaceView类如下: View Code PS:在两个矩形之间进行碰撞检测时,不仅仅要判定两者X、Y坐标之间的位置关系,还要考虑到两个矩形的宽度和高度。 2.圆形碰撞 圆形之间的碰撞,主要是利用两圆心的圆心距离进行判定的;当两圆心的圆心距小于两圆半径之和时,判定发生了碰撞。还是用一个实例进行说明,效果图如下: 新建项目,游戏框架为SurfaceView游戏框架,修改MySurfaceView类如下,其中主要就是圆形碰撞函数方法isCollisionWithCircle: View Code 3.像素碰撞 对于碰撞检测已经介绍了矩形与圆形两种方式,其实使用...