扩展功能接口ex_math.h
/*
检测点与矩形是否发生碰撞
参数:
x 点的x坐标
y 点的y坐标
rectx 矩形x坐标
recty 矩形y坐标
rectw 矩形宽度
recth 矩形高度

返回值:
TRUE 发生碰撞
FALSE 没有发生碰撞
*/
int isPointCollRect(int x,int y,int rectx,int recty,int rectw,int recth);


/*
圆与矩形的碰撞检测
参数:
cx cy 圆心坐标
r 圆半径
rectx 矩形x坐标
recty 矩形y坐标
rectw 矩形宽度
recth 矩形高度

返回值:
TRUE 发生碰撞
FALSE 没有发生碰撞
*/
int isCirCollRect(int cx,int cy,int r,int rectx,int recty,int rectw,int recth);


/*
矩形碰撞检测(做游戏常用的检测算法)
参数:
x1 矩形1的x坐标
y1 矩形1的y坐标
w1 矩形1宽度
h1 矩形1高度
x2 矩形2的x坐标
y2 矩形2的y坐标
w2 矩形2宽度
h2 矩形2高度

返回值:
TRUE 发生碰撞
FALSE 没有发生碰撞
*/
int isCollRect(int x1,int y1,int w1,int h1,int x2,int y2,int w2,int h2);


/*
求线段的长度(两点之间距离) 可用于计算圆与圆的碰撞(当两个圆的圆心距离小于它们的半径之和,那么碰撞成功)
参数:
x1 x2 线段起点位置
y1 y2 线段终点位置

返回值:
线段的长度
*/
int getLineSize(int x1,int y1,int x2,int y2);


/*
获得点(x2,y2)相对于点(x1,y1)的弧度值,取值(0~360)
参数:
x1 y1 参考点位置
x2 y2 点的位置

返回值:
0~360
*/
int getRadiam(int x1,int y1,int x2,int y2);

//点(x,y)绕(px,py)旋转指定弧度r,得到旋转后的坐标
//参数:旋转中心点(px,py),旋转横向半径rx,旋转纵向半径ry, 旋转弧度r, 旋转后坐标指针(*x,*y)
void toSpin(int px,int py,int rx,int ry,int r,int* x,int* y);