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