zoukankan      html  css  js  c++  java
  • Unity3D_UGUI判断鼠标或者手指是否点击在UI上

     比如战斗场景,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上");
            }
        }
    }
  • 相关阅读:
    5、打开界面
    C++模版完全解析
    运维二三事儿
    tcpdump命令使用方法
    putty源码阅读----plink
    nginx--提供一键安装脚本
    vt100控制符
    zabbix---简介
    Dictionary
    装箱、拆箱
  • 原文地址:https://www.cnblogs.com/vuciao/p/10604092.html
Copyright © 2011-2022 走看看