本文主要是介绍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
#endifusing UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.EventSystems;
public class NewBehaviourScript : MonoBehaviour {// Use this for initializationvoid Start () {}void Update(){if (Input.GetMouseButtonDown(0)||(Input.touchCount >0 && Input.GetTouch(0).phase == TouchPhase.Began)){
#if IPHONE || ANDROIDif (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId))
#elseif (EventSystem.current.IsPointerOverGameObject())
#endifDebug.Log("当前触摸在UI上");else Debug.Log("当前没有触摸在UI上");}}
}
这篇关于UGUI研究院之判断鼠标或者手指是否点击在UI上的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!