Unity 点击UI与点击屏幕冲突的解决方案

2021-04-10 17:28:34 IT技术网 互联网
浏览

Unity 有点击屏幕进行移动操作,通过Input.GetMouseButtonDown(0)。如果点击到了一些UI上面会触发点击屏幕事件。

引入UnityEngine.EventSystems,用函数判断一下即可

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
using UnityEngine.EventSystems;
public class PlayerController : MonoBehaviour
{
    private void Update()
    {
        if (EventSystem.current.IsPointerOverGameObject()) return;
        if (Input.GetMouseButtonDown(0))
        {
            Debug.Log("点击屏幕");
        }
    }
}

这个方法会将点击Text的时候也会当作点击UI

将raycast target 取消勾选可以避免。

补充:unity点击UI跟场景不冲突

unity点击UI跟场景不冲突的方法

在射线检测后加!EventSystem.current.IsPointerOverGameObject()即可

需要引入命名空间using UnityEngine.EventSystems;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT技术网。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文章:

  • unity 如何判断鼠标是否在哪个UI上(两种方法)
  • Unity3D UI Text得分数字增加的实例代码
  • 详解IDEA社区版(Community)和付费版(UItimate)的区别
  • Unity利用UGUI制作提示框效果
  • Unity UGUI实现简单拖拽图片功能
  • unity实现UI元素跟随3D物体
  • Unity UGUI实现滑动翻页直接跳转页数
  • unity 鼠标移入弹出UI的操作