unity判断是否点击了UI界面

1.判断是否点击 UGUI界面:

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class UiClickTest : MonoBehaviour {  

    // Use this for initialization
    void Start () {  

    }  

    // Update is called once per frame
    void Update () {  

        if (Input.GetMouseButtonDown(0)) {
            if (EventSystem.current.IsPointerOverGameObject()) {
                Debug.Log("点击到UGUI的UI界面,会返回true");
            } else {
                Debug.Log("如果没点击到UGUI上的任何东西,就会返回false");
            }
        }
    }
}  

2.判断是否点击了NGUI界面:

void OnClick ()
{
    // NGUI 3.8之前 点击空白地方返回为null
    // NGUI 3.8之后 点击空白地方返回为UIRoot
    if (UICamera.hoveredObject.name != "UIRoot")
    {
        Debug.Log ("我现在点击的不是空白");
    }
}  

void Update()
   {
       // 返回值是bool变量,如果鼠标在UI上返回true(记得加碰撞器)
    Debug.Log(UICamera.Raycast(Input.mousePosition));  

   }  
时间: 2024-10-18 09:27:45

unity判断是否点击了UI界面的相关文章

NGUI判断是否点击到UI控件

注意:UI应加上Box Collider 1.射线检测 UICamera发一条射线,射线碰到了东西就说明点击到了UI Ray ray=UICamera.mainCamera.ScreenPointToRay(Input.mousePosition);// 向屏幕发射线 RaycastHit hit; if(Physics.Raycast(ray,out hit,200))//射线的碰撞检测 {      print("点击了UI"); } 2.根据UICamera中的变量isOverU

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_EDIT

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 #e

Unity中UI界面颤抖解决方法

将Render Mode中属性改为Screen Space - Camera 摄像机挂在Canvas属性下会出现UI界面颤抖的效果. UI界面颤抖解决方式:将Render Mode中属性改为Screen Space - Overlay,如下图所示:

在QT编辑UI界面Menu时,linu屏幕的录制与截图

今天遇到一个小问题:在QT里面编辑UI界面的时候,如果想一步一步记录下自己制作的过程,在申请软件著作权的时候加进去,就要截图 截图 1.可以用键盘的快捷键截图: 1.按下Print Screen键,将会截取全屏幕画面. 2.抓取当前活动窗口 Print Screen进行屏幕抓图时,同时按下Alt键,就会只抓取当前活动窗口 3.自选截图区域 Print Screen+Shift 然后可以自选截图的区域 2.也可以用screenshot 截图工具 ubuntu 10.04中在applications

android中实现service动态更新UI界面

案例:通过service向远程服务器发送请求,根据服务器返回的结果动态更新主程序UI界面,主程序可实时关闭或重启服务. 注册BroadcastReceiver 在主程序activity中注册一个BroadcastReceiver,用于接收Service发布的广播. @Override protected void onStart() {//重写onStart方法 dataReceiver = new DataReceiver(); IntentFilter filter = new Intent

Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面

Android应用的开发过程中需要把繁重的任务(IO,网络连接等)放到其他线程中异步执行,达到不阻塞UI的效果. 下面将由浅入深介绍Android进行异步处理的实现方法和系统底层的实现原理. 本文介绍Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面: 即如何使用Thread+Handler的方式从非UI线程发送界面更新消息到UI线程. 概述:每个Android应用程序都运行在一个dalvik虚拟机进程中,进程开始的时候会启动一个主线程(MainThread),

新标杆 华天动力全新OA系统解析之UI界面

日前,国内领先的OA系统品牌华天动力发布了垂直换代的最新版本,新系统在功能与性能上进行了大幅度的全面升级.作为OA系统行业一款重量级的产品,将OA系统提升到一个新的高度,堪称行业新的标杆.为此,我们整理一个系列文章,向您全面解析这个全新的OA系统. 关于软件的UI界面设计,国内软件商显得要比国外同行更为重视.或许,国内的客户也更在乎视觉上的体验.而对于OA系统来说,其界面设计又比ERP等其他管理软件更高级,看起来更赏心悦目. 华天动力新版OA系统的界面进行了很大改动,却也没有面目全非,还是能够看

Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析

原文:Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析 前段时间,公司同事开发了一个小工具,在工具执行过程中,UI界面一直处于卡死状态. 通过阅读代码发现,主要是由于Dispatcher.BeginInvoke()方法使用不当导致的. 本文将通过一个WPF模拟程序来演示一下界面卡死的现象,并通过修改代码来解决界面卡死的问题. 希望通过对本文的学习,大家能对Dispatcher.BeginInvoke()方法有一个新的认识. 文章开篇直接给出界面卡死的示例代码