Unity3D_UGUI判断鼠标或者手指是否点击在UI上

摘要:
例如,战斗场景、UI和3D场景需要同时响应触摸事件。如果它们同时响应,则触摸UI可能会影响3D部分。为了解决这个问题,需要在判断3D响应之前确定手指是否点击UI。过去,NGUI习惯于自己发送光线判断。现在UGUI更好了,系统提供了更方便的方法。

 比如战斗场景,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上");
        }
    }
}

免责声明:文章转载自《Unity3D_UGUI判断鼠标或者手指是否点击在UI上》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SQL Server 2008 R2 补丁android软键盘挡住输入框问题解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

新型DenseBody框架:一张照片获得3D人体信息

来自云从科技和上海交通大学的研究者近期提出一种新型框架 DenseBody,可直接从一张彩色照片中获取 3D 人体姿势和形状。该研究设计了一种高效的 3D 人体姿势和形状表示,无需中间表示和任务,端到端地实现从单个图像到 3D 人体网格的生成。 多年以来,如何从单一图像估计人体的姿势和形状是多项应用都在研究的问题。研究者提出不同的方法,试图部分或者联合地解...

【转】Altium Designer 3D封装下载及导入教程

首先 先晒几个图:是不是很逼真啊。。---------------------------------------教程------------------------------------------------------------------------------------------------------------------------...

【语义分割】3D Graph Neural Networks for RGBD Semantic Segmentation

3D Graph Neural Networks for RGBD Semantic Segmentation 原文章:https://www.yuque.com/lart/papers/wmu47a 动机 主要针对的任务是RGBD语义分割, 不同于往常的RGB图像的语义分割任务, 这里还可以更多的考虑来自D通道的深度信息. 所以对于这类任务需要联合2D...

WPF 显示3D密集场景,堆场管理系统

又好久好久没写博客了,这次接着上文https://www.cnblogs.com/CSSZBB/p/12785380.html,上文用WPF 的绘图功能,制作了一个伪3D的2.5D控件ThreeDBox ,那么这玩意我是用来干啥那?没事做做着玩么? 简单来说,这个东西用来显示密集型的操作画面,比如显示一个堆场里集装箱的摆放情况,是不是稍微有点像了那?当然为...

免费开源3D模型设计软件汇总

免费开源3D模型设计软件汇总 3D 打印需要先通过计算机辅助设计(CAD)进行建模,再将建好的3D模型“分割”成逐层的截面,从而指导3D打印机进行逐层打印。因此用于3D打印的3D模 型大都储存或输出成为.stl文件格式。下面就为大家总结目前市场上主要的免费3D建模软件。希望对对3D打印建模感兴趣的朋友们有帮助。 基于网页的3D模型设计软件有: 3d...

WebGL的3D框架比较 ThingJS 和 Three.js

随着flash的没落,浏览器的原生能力的兴起。在3D方面WebGL不管从功能还是性能方面都在逐渐加强。2D应用变为3D应用的需求也越来越强烈。 win10的画图板支持3D图片,2d工具photoshop也开始逐步集成了3D工具。 下面就基于WebGL技术探讨一下现在的两款3D框架。Threejs(http://threejs.org/) 目前最流行的开源3...