Unity 實用教程之 移動端PC端區分點選在UI非UI
Unity 實用教程之 移動端PC端區分點選在UI非UI。本節介紹,在Unity開發中,滑鼠點選的時UI還是不是UI,而且還區分移動端和電腦端情況,具體如下圖
工具/原料
-
Unity
方法/步驟
-
1
在Unity引擎上新建一個空工程,具體如下圖
-
2
在場景中新增一個 Image 和 Text,佈局效果如下圖
-
3
在工程中新建一個指令碼 UIEventSysytem,雙擊開啟指令碼進行編輯,具體如下圖
-
4
UIEventSysytem 指令碼的具體程式碼和程式碼說明如下圖
-
5
UIEventSysytem 指令碼的具體內容如下:
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class UIEventSystem : MonoBehaviour {
public Text text;
// Update is called once per frame
void Update () {
//關鍵是要區分移動端和電腦端
//因為移動端和電腦端判斷的條件不同
if (Input.GetMouseButtonDown(0)) {
#if UNITY_ANDROID || UNITY_IPHONE
//移動端判斷如下
if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId))
#else
//PC端判斷如下
if (EventSystem.current.IsPointerOverGameObject())
#endif
{
text.text = "點選在UI上";
}
else {
text.text = "點選不在UI上";
}
}
}
}
-
6
指令碼編譯正確,回到Unity,新建一個 GameObject,指令碼掛載上去,把場景中的 Text賦給指令碼,具體如下圖
-
7
執行場景,點選 UI和不在UI上效果具體如下圖,你也可以打包到 移動端測試,效果如下圖
END