如何通过从unity对角线划分矩形来检查碰撞?
How to check the collision by dividing the rectangle diagonally from unity?
我尝试判断角色周围的东西南北方向是否有鼠标
我想判断鼠标是否在每种颜色的区域
如何编写代码?
我认为你应该考虑你的矩形的中间为中心 (0,0) ,矩形的其他 4 个点必须有一个像 (width/2; hight/2) 这样的坐标-上点,(-widht/2;hight/2) 左上点等。
之后,您可以使用此代码
float sign (fPoint p1, fPoint p2, fPoint p3){
return (p1.x - p3.x) * (p2.y - p3.y) - (p2.x - p3.x) * (p1.y - p3.y);}
bool PointInTriangle (fPoint mousePos, fPoint v1, fPoint v2, fPointev3) {
bool b1, b2, b3;
b1 = sign(mousePos, v1, v2) < 0.0f;
b2 = sign(mousePos, v2, v3) < 0.0f;
b3 = sign(mousePos, v3, v1) < 0.0f;
return ((b1 == b2) && (b2 == b3));}
我尝试判断角色周围的东西南北方向是否有鼠标
我想判断鼠标是否在每种颜色的区域
如何编写代码?
我认为你应该考虑你的矩形的中间为中心 (0,0) ,矩形的其他 4 个点必须有一个像 (width/2; hight/2) 这样的坐标-上点,(-widht/2;hight/2) 左上点等。 之后,您可以使用此代码
float sign (fPoint p1, fPoint p2, fPoint p3){
return (p1.x - p3.x) * (p2.y - p3.y) - (p2.x - p3.x) * (p1.y - p3.y);}
bool PointInTriangle (fPoint mousePos, fPoint v1, fPoint v2, fPointev3) {
bool b1, b2, b3;
b1 = sign(mousePos, v1, v2) < 0.0f;
b2 = sign(mousePos, v2, v3) < 0.0f;
b3 = sign(mousePos, v3, v1) < 0.0f;
return ((b1 == b2) && (b2 == b3));}