Unity——2D地铁路线图单个线条的鼠标交互事件
如图:

如果想要对图中的每条线做鼠标点击交互,有什么办法吗?(如果对每条线保存成一个图片做鼠标点击交互,不就重叠没办法做了?
解决办法:转载自 Unity UGUI 不规则按钮 响应区域重叠的解决办法_Vitens的博客-CSDN博客
问题归类为—— Unity UGUI 不规则按钮 响应区域重叠的解决办法
Image组件已经封装好了一个属性alphaHitTestMinimumThreshold:
能够被识别点击生效的alpha的最小值,就是指点击到的地方像素点的alpha值如果低于这个阈值,那么认为点击无效,如点击到下列左图中这块区域,因为这里用到的图片透明度都为0,如果这个阈值设为0.2f(比较小的),那么本次的点击事件将会向下一层传递,当前层不响应,直到发现点击到的地方透明度是大于这个阈值的再进行处理。该示例中这块黄色区域无响应。

点击单条线段不会互相干扰:

代码示例:
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class ClickTest : MonoBehaviour,IPointerClickHandler
{
public void OnPointerClick(PointerEventData eventData)
{
Debug.Log(gameObject.name);
}
// Use this for initialization
void Start () {
GetComponent<Image>().alphaHitTestMinimumThreshold = 0.1f;
}
// Update is called once per frame
void Update () {
}
}
摘自: Unity UGUI 不规则按钮 响应区域重叠的解决办法_Vitens的博客-CSDN博客
如果想要实现鼠标悬停在该线段上,产生的高亮效果,可以不用插件,直接给该图片赋上Button组件即可:

修改“Highlighted Color”等属性,表示鼠标悬浮在线段上面的高亮颜色,效果如下:


浙公网安备 33010602011771号