闲来没事,突然想起了,最初学Android时,老师教过最简单矩形碰撞和精灵切割这些简单的算法,当时还说Android主要分两个方向,一个是做应用,一个是做游戏,现在想来,那夕阳下的奔跑,那是我逝去的青春…
虽然现在主要是做Android应用开发,但是闲着没事,也就突然想着,把这简单的平面物体碰撞检测算法试着分析分析,并整理写了下。
代码如下:
/**
* @author Jenly
* @date 2016-6-2
*/
public class CollsionUtils {
/**
* 点与矩形碰撞
* @param x1
* 点的x坐标
* @param y1
* 点的y坐标
* @param x2
* 矩形的x坐标
* @param y2
* 矩形的y坐标
* @param w
* 矩形的宽度
* @param h
* 矩形的高度
* @return
*/
public static boolean isCollsionWithPointAndRect(int x1,int y1,int x2,int y2,int w,int h){
//如果点在矩形的左边或在矩形的右边或在矩形的上边或在矩形的下边 则表示点与矩形没有发生碰撞,反之则表示发生碰撞
if(x1<x2 || x1>x2+w || y1<y2 || y1>y2+h)
return false;
return true