1、UI的默认响应区域是UI元素所在的矩形框线内的区域。这也就意味着,当UI的图形为不规则形状时,点击图形的外部也可能会触发事件。
2、但其实Unity自带了一种不规则区域点击策略。要想使用它,我们首先要将精灵的「Read/Write」属性设置为开启状态
3、然后在代码中将「Image」组件中的「alphaHitTestMinimumThreshold」属性设置为0.1。这样图片的透明度低于0.1的地方就不会响应点击事件
void Start()
{
GetComponent<Image>().alphaHitTestMinimumThreshold = 0.1f;
}
4、但这种方式存在一个问题:如果将图片的「Read/Write」开启的话,图片所占用的内存会大幅度增加,且该图片将无法被并入图集。因此一般项目中不会使用这个功能。