Unity 点击UI与点击屏幕冲突的解决方案
作者:EW_DUST
这篇文章主要介绍了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;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。