轉(zhuǎn)自:UGUI研究院之判斷鼠標(biāo)或者手指是否點(diǎn)擊在UI上(六) | 雨松MOMO程序研究院 (xuanyusong.com)
比如戰(zhàn)斗場(chǎng)景砖茸,UI和3D場(chǎng)景同時(shí)都需要響應(yīng)觸摸事件透典,如果同時(shí)響應(yīng)可能就會(huì)出現(xiàn)觸摸UI的時(shí)候影響到了3D部分。為了解決這個(gè)問(wèn)題在判斷3D響應(yīng)之前要先判斷手指是否點(diǎn)擊在UI上兼贡。 以前NGUI的時(shí)候都是自己來(lái)發(fā)送射線判斷幕垦,現(xiàn)在UGUI好了系統(tǒng)提供了更為簡(jiǎn)便的方法吼具。
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)前沒(méi)有觸摸在UI上");
}
}
}