UG3L16——异形按钮

异形按钮

图片形状不是传统矩形的按钮

如何让异形按钮能够准确点击

  1. 通过添加子对象的形式

    按钮之所以能够响应点击,主要是根据图片矩形范围进行判断的
    它的范围判断是自下而上的,意思是如果有子对象图片,子对象图片的范围也会算为可点击范围
    那么我们就可以用多个透明图拼凑不规则图形作为按钮子对象用于进行射线检测

    具体一点来说,就是设置一个背景Image,并为其添加一个按钮子对象
    按钮的脚本使用的Image改为父对象的image,自身图片改为透明图片
    为按钮设置多个透明image子对象,最终拼凑成符合背景形状

  2. 通过代码改变图片的透明度响应阈值

    该方法相比上个方法较占用内存

    1. 第一步:修改图片参数 开启Read/Write Enabled开关,一定要打开!否则会报错

      image

    2. 第二步:通过代码修改图片的响应阈值

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      using UnityEngine;
      using UnityEngine.UI;

      public class Lesson23 : MonoBehaviour
      {
      public Image img;

      void Start()
      {
      img.alphaHitTestMinimumThreshold = 0.1f;
      }
      }

    该参数含义:指定一个像素必须具有的最小alpha值,以变能够认为射线命中了图片
    说人话:当像素点alpha值小于了 该值 就不会被射线检测了