/** * 线段与矩形碰撞检测*  * @param x1 线段一端点x坐标* @param y1 线段一端点y坐标* @param x2 线段二端点x坐标* @param y2 线段二端点y坐标* @param x 矩形左上角x坐标* @param y 矩形左上角y坐标* @param width 矩形宽度* @param height 矩形高度* @return */1.2.public static boolean lineWidthRect(int x1, int y1, int x2, int y2, int x, int y, int width, int height) {3.double a =(double) ((y1 - y2)) / (double) ((x1 - x2));4.double b =y1 - a * x1;5.if (x1 < x2) {6.for (int i =x1; i <= x2; i++) {7.int tempY =(int) (a * i + b);8.if (intersectRect(i, tempY, 1, 1, x, y, width, height)) {9.return true;10.}11.}12.} else if (x1 > x2) {13.for (int i =x1; i >= x2; i--) {14.int tempY =(int) (a * i + b);15.if (intersectRect(i, tempY, 1, 1, x, y, width, height)) {16.return true;17.}18.}19.} else {20.if (y1 <= y2) {21.for (int i =y1; i < y2; i++) {22.if (intersectRect(x1, i, 1, 1, x, y, width, height)) {23.return true;24.}25.}26.} else {27.for (int i =y2; i > y2; i--) {28.if (intersectRect(x1, i, 1, 1, x, y, width, height)) {29.return true;30.}31.}32.}33.}34.return false;35.}

更多相关文章

  1. android图片的打开和缩放时出现oom处理过程
  2. android中clip的使用
  3. android桌面悬浮窗显示录屏时间控制效果
  4. 地图API使用文档-以腾讯地图为例
  5. android:自定义监听(简单)
  6. Android(安卓)三种动画详解及简单实例
  7. Android各种事件处理一览(单击事件、触摸事件、物理按键事件、长
  8. Android(安卓)UI 之 获取组件或者元素的坐标
  9. 自定义圆形进度条

随机推荐

  1. Android权限申请:自带方法 + 第三方库实现
  2. Android高级技巧
  3. android 用流打开网页
  4. android 高仿【优酷】圆盘旋转菜单 的实
  5. SQLite的一个例子
  6. Android 报错汇总篇
  7. Android(安卓)如何判断手机处于电源充电
  8. 图像列表(Gallery、ImageSwithcer)
  9. Android之Fragment多个页面切换实现
  10. Android之Toast