Unity 有点击屏幕进行移动操作,通过Input.GetMouseButtonDown(0)。如果点击到了一些UI上面会触发点击屏幕事件。
引入UnityEngine.EventSystems,用函数判断一下即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/qq_40871466/article/details/87827987