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上");
            }
        }
    }
  • 相关阅读:
    我用自己做的图书比价搜索买了一本书
    2.17
    最近的工作
    FireBug的Bug
    2.18
    tecent面试题解答
    .net杂记
    python的round测试
    最近在网上买书的体会
    关于迅雷评论的一个改造html css
  • 原文地址:https://www.cnblogs.com/vuciao/p/10604092.html
Copyright © 2011-2022 走看看