如何通过从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));}