1.修改图片的点击判定
从原来对图片边框的射线判定
换成对collider2D射线碰撞的判定
原因:原来图片更改不了边框,但是collider2D可以,故改成对collider的判定
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MyImage : Image
{
public override bool IsRaycastLocationValid(Vector2 screenPoint, Camera eventCamera)
{
//return base.IsRaycastLocationValid(screenPoint, eventCamera);
return GetComponent<Collider2D>().OverlapPoint(screenPoint);
}
}
OverlapPoint的原理如下,检查碰撞体是否与空间中的某个点重叠。
2.将原来的图片组件删去换成MyImage组件
3.在button对象上添加Polygon Collider2D组件,该组件是可自由编译边缘的collider组件