UGUI_判断鼠标或者手指是否点击在UI上
?
戰(zhàn)斗場景,UI和3D場景同時都需要響應(yīng)觸摸事件,
如果同時響應(yīng)可能就會出現(xiàn)觸摸UI的時候影響到了3D部分。
為了解決這個問題在判斷3D響應(yīng)之前要先判斷手指是否點擊在UI上。
以前NGUI的時候都是自己來發(fā)送射線判斷,現(xiàn)在UGUI好了系統(tǒng)提供了更為簡便的方法。
?
?
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("當(dāng)前觸摸在UI上");
????????????
????????????else
????????????????Debug.Log("當(dāng)前沒有觸摸在UI上");
????????}
????}
}
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的UGUI_判断鼠标或者手指是否点击在UI上的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UGUI_忽略UI被拦截事件
- 下一篇: UGUI_使用DoTween