不规则colider :Ploygon Colider2D
public class CustomImage : Image
{
private PolygonCollider2D _polygon;
private PolygonCollider2D Polygon
{
get
{
if (_polygon == null)
_polygon = GetComponent<PolygonCollider2D>();
return _polygon;
}
}
public override bool IsRaycastLocationValid(Vector2 screenPoint, Camera eventCamera)
{
Vector3 point;
RectTransformUtility.ScreenPointToWorldPointInRectangle(rectTransform,screenPoint,eventCamera,out point);
return Polygon.OverlapPoint(point);
}
}
添加Button组件,编辑不规则区域
点击不规则区域即可响应,其余地方无效