UGUI 鼠标悬浮UI出现弹框,鼠标在图片边缘出现闪烁
2023-12-15 18:45:21
1、背景:鼠标悬浮在UI上出现提示框
public class SpecialParam_list : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
public void OnPointerEnter(PointerEventData eventData)
{
TipBox.Instance.ShowBox(Input.mousePosition, value);
}
public void OnPointerExit(PointerEventData eventData)
{
TipBox.Instance.HideBox();
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TipBox : UnitySingleton<TipBox>
{
SpecialFyALand_Panel fyALand_Panel;
GameObject tioObj;
public float offset = 1;
[SerializeField]
private float threshold = 1f;
public void ShowBox(Vector2 pos, string ac )
{
if (tioObj == null)
{
tioObj = ResMgr.GetInstance().Load<GameObject>("TipBox", ResourcesType.UIPrefabs);
tioObj.transform.SetParent(GameObject.Find("Canvas").transform);
tioObj.transform.SetAsLastSibling();
}
TipBoxInfo tipBoxInfo = tioObj.GetComponent<TipBoxInfo>();
tipBoxInfo.InitData( ac );
tioObj.SetActive(true);
tioObj.transform.SetAsLastSibling();
tipBoxInfo.transform.position = new Vector2(pos.x, pos.y) + new Vector2(0, 0) * offset;
//tipBoxInfo.transform.position = new Vector3(pos.x, pos.y, 0) + new Vector3(963, 539, 0) * offset;
}
public void HideBox()
{
if (tioObj != null&& tioObj.activeSelf)
tioObj.SetActive(false);
}
}
2、鼠标一旦出现在图片边缘弹框就会不停的闪烁
3、解决方案:将弹框包含所有的物体的RaycastTarget去掉
PS:个人猜测原因是弹窗的移入导致出发了pointenter事件
文章来源:https://blog.csdn.net/qq_37140150/article/details/135022327
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!