#你好Unity3D#Hierarchy视图监听gameObject点击事件

今天无意间又找到了个好方法

1

2

3

4

5

6

7

8

9

10

[InitializeOnLoadMethod]

static void Start ()

{

Selection.selectionChanged = delegate

{

Debug.Log(Selection.activeObject.name);

};

}

前几天有朋友问过我怎么监听sceneview 和 hierarchy视图选择某个gameObject的事件,今天干好有时间我就研究研究。

下面的这两个代理事件大家都知道吧?其实都可以干这件事,但是不完美。因为每一帧都会调用一下,才能做判断

EditorApplication.hierarchyWindowItemOnGUI

EditorApplication.update

我觉得最好的办法,还是说当我选择某个gameObject的时候,由unity回调给我一个事件。所以我又找到了一个不完美的解决方法。在你需要监听点击的gameObject的脚本上添加如下代码。OnDrawGizmosSelected
就是选择的回调。但是它可能会回调多次,所以要进行一次判断保证它只执行一次。

1

2

3

4

5

6

7

8

9

10

11

#if UNITY_EDITOR

bool selected = false;

void OnDrawGizmosSelected()

{

if (!selected)

{

selected = true;

Debug.Log(gameObject.name);

}

}

#endif

如果想在一个地方统一处理,那么就把事件传出去就行了。 OK 这篇文章是个伪命题,如果你有更好的方法欢迎再下面给我留言,谢谢!

时间: 2024-10-25 07:41:23

#你好Unity3D#Hierarchy视图监听gameObject点击事件的相关文章

Unity NGUI监听按钮点击事件的三种方法

NGUI版本:3.6.5 1.直接实现OnClick方法: 创建一个脚本,在脚本中实现OnClick()方法,绑定该脚本到按钮上,点击时就会实现OnClick函数内容: 2.使用SendMessage: 选择按钮后,打开Component——NGUI——Interaction,选择Button Message,为按钮添加一个UIButton Message组件: 然后设置UIButton Message中的参数即可: Target:接收按钮消息的游戏对象: Function Name:接收按钮消

ButtonAddListener监听按钮点击事件

using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.Events; public class ButtonAddListener: MonoBehaviour { public Sprite[] Sprites;//定义背景替换Sprite private GameObject BG;//定义按钮 private Image bg;//定义精灵组件 private bool Tr

监听按钮点击事件的三种方式实现及调试信息输出的三种方式实现

监听按钮点击事件的三种方式实现: 1.匿名内部类 2.外部独立类 3.接口实现 package com.example.button; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View;

Unity3D研究之监听Hierachy、Project等视图结构变化的事件

以前就有人问我怎么监听Hierarchy视图中创建或删除变化的事件,当时因为有别的事情就没研究这块.刚好最近有这一类的需求我就学习学习.网上发现了一个日本人写的文档,实现的原理很有意思,内容不错我就翻译一下.本文参考了一个游戏编程网的资料在此注明下. 请注意一定把这两个监听的脚本放在Editor文件夹下. 先是基类. using System; using System.Collections; using System.Reflection; using UnityEditor; using

复选框 省市区 联动(监听input的change事件)

需求:省市区三级包含复选框按钮以及文字描述.点击文字显示对应的下级地区,点击复选框选择对应的下级区域勾选. 分析:监听input的change事件当点击复选框省  选择对应的第一个市区,同时默认选中第三级区域的第一个.同理监听span或者label(因为label与input的搭配使用) 辅助:后台提供省市区的数据: 两种方式: A:后台直接给dom结构(后台写好基本构架,前段自己在后台code填写需要的dom,class,方便前端开发) B:后台直接给前段一个json数据,前段自己遍历.(和后

xcode UIButton创建、监听按钮点击、自定义按钮 、状态 、内边距

代码创建 //创建UIButton UIButton * btnType=[[UIButton alloc]init]; //设置UIControlStateNormal状态下的文字颜色 [btnType setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; //设置字体大小 btnType.titleLabel.font=[UIFont systemFontOfSize:9.0]; //设置边框的宽度 btnTyp

vue使用element-ui的el-input监听不了键盘事件解决

vue使用element-ui的el-input监听不了键盘事件,原因应该是element-ui自身封装了一层div在input标签外面,把原来的事件隐藏了,所以如下代码运行是无响应的: <el-input v-model="name" placeholder="账号" @keyup.enter="doLogin"></el-input> 在执行的时候事件是定义在input外面的div上的,所有没有响应. 解决方法需要在事

Android - 监听Activity点击无效

监听Activity点击无效 本文地址: http://blog.csdn.net/caroline_wendy Activity须要先在Manifest注冊,才干在app中使用; Manifest: <activity android:name="me.chunyu.tvdoctor.healthvideo.VideoPlayingActivity" android:label="@string/app_name" /> 在内部库的G7Anno中: @

JS移动端如何监听软键盘回车事件

移动端经常项目中会有搜索之类的功能,一般实现的是按搜索按钮进行搜索,如果要像PC端一样实现按回车键进行搜索该怎么实现呢? 方法很简单,就是在搜索框的input外面套一个form标签  注意点:form标签一定得添加 action属性(可设置为空) <form action=""><input type="text" name="search" /></form> 移动端软键盘的回车会触发form的submit事