zoukankan      html  css  js  c++  java
  • Unity判断鼠标是否在UI(UGUI)上

    "EventSystem.current.IsPointerOverGameObject()"

    UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了3D部分。为了解决这个问题在判断3D响应之前要先判断手指是否点击在UI上。

     1 #if UNITY_ANDROID && !UNITY_EDITOR
     2 #define ANDROID
     3 #endif
     4  
     5  
     6 #if UNITY_IPHONE && !UNITY_EDITOR
     7 #define IPHONE
     8 #endif
     9  
    10  
    11  
    12 using UnityEngine;
    13 using UnityEngine.UI;
    14 using System.Collections;
    15 using UnityEngine.EventSystems;
    16 public class NewBehaviourScript : MonoBehaviour {
    17  
    18     // Use this for initialization
    19     void Start () {
    20     
    21     }
    22     
    23  
    24     void Update()
    25     {
    26         if (Input.GetMouseButtonDown(0)||(Input.touchCount >0 && Input.GetTouch(0).phase == TouchPhase.Began))
    27         {
    28 #if IPHONE || ANDROID
    29             if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId))
    30 #else
    31             if (EventSystem.current.IsPointerOverGameObject())
    32 #endif
    33                 Debug.Log("当前触摸在UI上");
    34             
    35             else 
    36                 Debug.Log("当前没有触摸在UI上");
    37         }
    38     }
    39 }
  • 相关阅读:
    Spring boot 启动图片
    Spring Cloud 从入门到入门
    理解错误的 Arrays.asList()
    git github 对代码的管理
    【POJ 2154】Color
    CodeForces
    CodeForces
    CodeForces
    CodeForces
    [数据结构]Hash Table(哈希表)
  • 原文地址:https://www.cnblogs.com/Behaviour/p/4832600.html
Copyright © 2011-2022 走看看