android 线段与矩形碰撞检测
来源:互联网 发布:js event.target 编辑:程序博客网 时间:2024/04/20 05:43
/** * 线段与矩形碰撞检测* * @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.}
0 0
- android 线段与矩形碰撞检测
- 圆、矩形、线段碰撞检测
- 圆与矩形碰撞检测
- 矩形与圆碰撞检测
- 圆与线段碰撞检测
- 圆与线段碰撞检测
- 圆与矩形简单碰撞检测
- 圆与旋转矩形的碰撞检测
- Android碰撞检测——矩形检查
- android 学习:多矩形碰撞检测
- 矩形碰撞检测
- 矩形检测碰撞算法
- 矩形碰撞检测
- 圆,矩形碰撞检测
- 碰撞检测算法:点和矩形碰撞、矩形碰撞
- 2D游戏中圆形与矩形碰撞检测
- 2D游戏碰撞检测--矩形与圆形
- 2D游戏中圆形与矩形碰撞检测
- QT的信号和槽
- AppBar和一些其他控件及项目配置
- c语言字节对齐
- SQL Server2008附加数据库之后显示为只读时解决方法
- Java transient关键字使用小结及一些需要注意的细节
- android 线段与矩形碰撞检测
- 修改Eclipse为黑色主题
- 进口车在国外到底卖多少钱
- 简单碰撞检测的3D游戏
- shared_ptr
- Android休眠唤醒驱动流程分析(一)
- 黑马程序员_引用计数器
- UITextField小结
- 马氏距离与协方差矩阵