圆形碰撞算法
/**
* 圆形碰撞
* @param x1 圆形1的圆心X坐标
* @param y1 圆形2的圆心y坐标
* @param x2 圆形1的圆心x坐标
* @param y2 圆形2的圆心Y坐标
* @param r1 圆形1的半径
* @param r2 圆形2的半径
* @return
*/
private boolean isCollisionWithCircle(int x1, int y1, int x2, int y2, int r1, int r2) {
//Math.sqrt:开平方
//Math.pow(double x, double y): X的Y次方
if (Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2)) <= r1 + r2) {
//如果两圆的圆心距小于或等于两圆半径则认为发生碰撞
return true;
}
return false;
}
from eoe.cn
原文:http://blog.csdn.net/utilc/article/details/23950351