Unity教程之-Hierarchy视图监听gameObject点击事件

 

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

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

EditorApplication.hierarchyWindowItemOnGUI

EditorApplication.update

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


#if UNITY_EDITOR
boolselected=false;
voidOnDrawGizmosSelected()
{
if(!selected)
{
selected=true;
Debug.Log(gameObject.name);
}
}
#endif

如果想在一个地方统一处理,那么就把事件传出去就行了。好了,本篇unity3d教程到此结束,下篇我们再会!