Unity3D_UGUI判断鼠标或者手指是否点击在UI上
Posted cnwuchao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3D_UGUI判断鼠标或者手指是否点击在UI上相关的知识,希望对你有一定的参考价值。
比如战斗场景,UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了3D部分。为了解决这个问题在判断3D响应之前要先判断手指是否点击在UI上。 以前NGUI的时候都是自己来发送射线判断,现在UGUI好了系统提供了更为简便的方法。
#if UNITY_android && !UNITY_EDITOR #define ANDROID #endif #if UNITY_IPHONE && !UNITY_EDITOR #define IPHONE #endif using UnityEngine; using UnityEngine.UI; using System.Collections; using UnityEngine.EventSystems; public class NewBehaviourScript : MonoBehaviour { // Use this for initialization void Start() { } void Update() { if (Input.GetMouseButtonDown(0) || (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)) { #if IPHONE || ANDROID if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId)) #else if (EventSystem.current.IsPointerOverGameObject()) #endif Debug.Log("当前触摸在UI上"); else Debug.Log("当前没有触摸在UI上"); } } }
以上是关于Unity3D_UGUI判断鼠标或者手指是否点击在UI上的主要内容,如果未能解决你的问题,请参考以下文章