Unity UGUI Image 点击事件忽略空白像素区域

05-13 1184阅读

我们会遇到图片不是方形的不规则图片。这个时候我们希望只有点击到图像内容本身才算点击,点击空白区域则不算点击。而UGUI对图片的处理是整个图片都会算作点击区域,这样不能满足于我们的使用需求了。

首先我们需要把图片本身的Read/Write 选项打开

Unity UGUI Image 点击事件忽略空白像素区域

然后代码中我们需要去改变Image组件的alphaHitTestMinimumThreshold的阈值

代码如下

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class CustomAlphaHitTest : MonoBehaviour
{
    public List imageComponents;
    public float alphaThreshold = 0.5f;
    void Start()
    {
        for (int i = 0; i  

总结:

如果将 alphaHitTestMinimumThreshold 设置为 0.5,那么只有点击不透明度(Alpha 值)大于或等于 0.5 的像素时,点击事件才会被触发。换句话说,只有点击图像上不透明度较高的部分时,点击事件才会被认为有效。

这意味着对于透明度小于 0.5 的像素,点击事件将被忽略,而对于透明度大于等于 0.5 的像素,点击事件才会被处理。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]