unity判断鼠标是否点击到ui,获得当前点击到的ui物体
Posted 苍狼王unity学院
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity判断鼠标是否点击到ui,获得当前点击到的ui物体相关的知识,希望对你有一定的参考价值。
if (Input.GetMouseButtonUp(0))
//判断点击的是否是UI
if (EventSystem.current.IsPointerOverGameObject())
Debug.Log("点击到了UI上");
else
Debug.Log("没有点击到UI上");
2、获得当前点击到的ui物体
/// <summary>
/// 获得当前点击到的UI物体
/// </summary>
public GameObject Skode_GetCurrentSelect()
GameObject obj=null;
GraphicRaycaster[] graphicRaycasters = FindObjectsOfType<GraphicRaycaster>();
PointerEventData eventData = new PointerEventData(EventSystem.current);
eventData.pressPosition = Input.mousePosition;
eventData.positio
unity 怎么识别鼠标点击在ui上
参考技术A 比如战斗场景,UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了3D部分。为了解决这个问题在判断3D响应之前要先判断手指是否点击在UI上。 以前NGUI的时候都是自己来发送射线判断,现在UGUI好了系统提供了更为简便的方法。#if UNITY_ANDROID && !UNITY_EDITOR
#define ANDROID
#endif
#if UNITY_IPHONE && !UNITY_EDITOR
#define IPHONE
#endif
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.EventSystems;
public class NewBehaviourScript : MonoBehaviour
// Use this for initialization
void Start ()
void Update()
if (Input.GetMouseButtonDown(0)||(Input.touchCount >0 && Input.GetTouch(0).phase == TouchPhase.Began))
#if IPHONE || ANDROID
if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId))
#else
if (EventSystem.current.IsPointerOverGameObject())
#endif
Debug.Log("当前触摸在UI上");
else
Debug.Log("当前没有触摸在UI上");
本回答被提问者采纳
以上是关于unity判断鼠标是否点击到ui,获得当前点击到的ui物体的主要内容,如果未能解决你的问题,请参考以下文章