本文主要是介绍Unity UGUI Image 点击事件忽略空白像素区域,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们会遇到图片不是方形的不规则图片。这个时候我们希望只有点击到图像内容本身才算点击,点击空白区域则不算点击。而UGUI对图片的处理是整个图片都会算作点击区域,这样不能满足于我们的使用需求了。
首先我们需要把图片本身的Read/Write 选项打开
然后代码中我们需要去改变Image组件的alphaHitTestMinimumThreshold的阈值
代码如下
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class CustomAlphaHitTest : MonoBehaviour
{public List<Image> imageComponents;public float alphaThreshold = 0.5f;void Start(){for (int i = 0; i < imageComponents.Count; i++){imageComponents[i].alphaHitTestMinimumThreshold = alphaThreshold;}}
}
总结:
如果将 alphaHitTestMinimumThreshold
设置为 0.5,那么只有点击不透明度(Alpha 值)大于或等于 0.5 的像素时,点击事件才会被触发。换句话说,只有点击图像上不透明度较高的部分时,点击事件才会被认为有效。
这意味着对于透明度小于 0.5 的像素,点击事件将被忽略,而对于透明度大于等于 0.5 的像素,点击事件才会被处理。
这篇关于Unity UGUI Image 点击事件忽略空白像素区域的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!