Android游戏开发之碰撞检测(矩形碰撞、圆形碰撞、像素碰游戏开发之碰撞检测(矩形碰撞、圆形碰撞、像素碰
撞)撞)
主要介绍了Android游戏开发之碰撞检测,主要内容包含矩形碰撞、圆形碰撞、像素碰撞、多矩形碰撞的代码,
感兴趣的小伙伴们可以参考一下
本文为大家分享了Android游戏开发之碰撞检测,供大家参考,具体内容如下
矩形碰撞矩形碰撞 原理: 两个矩形位置 的四种情况 不是这四中情况 则碰撞
圆形碰撞圆形碰撞 原理: 利用两个圆心之间的距离进行判定.当两个圆心的距离小于半径之和则碰撞.
像素碰撞像素碰撞 原理:不适用 遍历所有像素 检测 太多了
多矩形碰撞多矩形碰撞 原理:设置多个矩形碰撞检测区域 检测碰撞矩形数组 与另一碰撞矩形数组之间的位置关系.
矩形碰撞 代码:
public class MySurfaceView extends SurfaceView implements Callback, Runnable {
private SurfaceHolder sfh;
private Paint paint;
private Thread th;
private boolean flag;
private Canvas canvas;
private int screenW, screenH;
//定义两个矩形的宽高坐标
private int x1 = 10, y1 = 110, w1 = 40, h1 = 40;
private int x2 = 100, y2 = 110, w2 = 40, h2 = 40;
//便于观察是否发生了碰撞设置一个标识位
private boolean isCollsion;
/**
* SurfaceView初始化函数
*/
public MySurfaceView(Context context) {
super(context);
sfh = this.getHolder();
sfh.addCallback(this);
paint = new Paint();
paint.setColor(Color.WHITE);
paint.setAntiAlias(true);
setFocusable(true);
}
/**
* SurfaceView视图创建,响应此函数
*/
@Override