Unity 点击UI与点击屏幕冲突的解决方案
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的操作