Unity 點擊UI與點擊屏幕沖突的解決方案
Unity 有點擊屏幕進行移動操作,通過Input.GetMouseButtonDown(0)。如果點擊到瞭一些UI上面會觸發點擊屏幕事件。
引入UnityEngine.EventSystems,用函數判斷一下即可
using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; using UnityEngine.EventSystems; public class PlayerController : MonoBehaviour { private void Update() { if (EventSystem.current.IsPointerOverGameObject()) return; if (Input.GetMouseButtonDown(0)) { Debug.Log("點擊屏幕"); } } }
這個方法會將點擊Text的時候也會當作點擊UI
將raycast target 取消勾選可以避免。
補充:unity點擊UI跟場景不沖突
unity點擊UI跟場景不沖突的方法
在射線檢測後加!EventSystem.current.IsPointerOverGameObject()即可
需要引入命名空間using UnityEngine.EventSystems;
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- None Found