Unity 點(diǎn)擊UI與點(diǎn)擊屏幕沖突的解決方案
Unity 有點(diǎn)擊屏幕進(jìn)行移動(dòng)操作,通過(guò)Input.GetMouseButtonDown(0)。如果點(diǎn)擊到了一些UI上面會(huì)觸發(fā)點(diǎn)擊屏幕事件。
引入U(xiǎn)nityEngine.EventSystems,用函數(shù)判斷一下即可

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("點(diǎn)擊屏幕");
}
}
}
這個(gè)方法會(huì)將點(diǎn)擊Text的時(shí)候也會(huì)當(dāng)作點(diǎn)擊UI
將raycast target 取消勾選可以避免。

補(bǔ)充:unity點(diǎn)擊UI跟場(chǎng)景不沖突
unity點(diǎn)擊UI跟場(chǎng)景不沖突的方法
在射線檢測(cè)后加!EventSystem.current.IsPointerOverGameObject()即可
需要引入命名空間using UnityEngine.EventSystems;

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
C#通過(guò)實(shí)現(xiàn)winmm枚舉音頻設(shè)備
使用C#做音頻錄制時(shí)需要獲取音頻設(shè)備信息,其中比較簡(jiǎn)單的就是使用winmm,所以本文就為大家介紹一下C#如何通過(guò)實(shí)現(xiàn)winmm枚舉音頻設(shè)備,需要的可以參考下2023-10-10
C#.net中的類(lèi)型轉(zhuǎn)換詳細(xì)介紹
C#.net中的類(lèi)型轉(zhuǎn)換詳細(xì)介紹,需要的朋友可以參考一下2013-04-04
運(yùn)用示例簡(jiǎn)單講解C#取消令牌CancellationTokenSource
這篇文章運(yùn)用示例簡(jiǎn)單講解C#取消令牌CancellationTokenSource,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
C# Websocket連接實(shí)現(xiàn)wss協(xié)議
本文主要介紹了C# Websocket連接實(shí)現(xiàn)wss協(xié)議,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
c#計(jì)算某段代碼的執(zhí)行時(shí)間實(shí)例方法
在本篇文章里我們給大家整理了關(guān)于c#計(jì)算某段代碼的執(zhí)行時(shí)間的方法和經(jīng)驗(yàn),有興趣的朋友們學(xué)習(xí)下。2019-02-02
c#中executereader執(zhí)行查詢(xún)示例分享
這篇文章主要介紹了c#中executereader執(zhí)行查詢(xún)示例,需要的朋友可以參考下2014-04-04

