网站首页 > 游戏开发 正文
今天无意间又找到了个好方法
[ 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 12 13 | #if UNITY_EDITOR
bool selected = false ;
void OnDrawGizmosSelected ( )
{
if ( ! selected )
{
selected = true ;
Debug . Log ( gameObject . name ) ;
}
}
#endif
|
如果想在一个地方统一处理,那么就把事件传出去就行了。 OK 这篇文章是个伪命题,如果你有更好的方法欢迎再下面给我留言,谢谢!
猜你喜欢
- 2022-04-24 Unity3D研究院之通过ipa或apk获取游戏所使用的unity和Xcode版本
- 2022-04-24 Unity3D研究院编辑器之脚本生成Preset Libraries(十四)
- 2021-09-07 Unity3D研究院之系统内置系统图标大整理
- 2021-09-06 Unity3D研究院编辑器之5.3JSON的序列化
- 2021-09-06 Unity3D研究院编辑器之脚本打开SpritePacker窗口(十七)
- 2021-09-04 Unity3D研究院编辑器之自定义默认资源的Inspector面板(十)
- 2021-09-04 Unity3D研究院之两个游戏工程资源同步问题(八十六)
- 2021-09-04 Unity3D研究院编辑器之不实例化Prefab获取删除更新组件(十五)
- 2021-08-30 Unity3D研究院编辑器之独立Inspector属性(九)
- 2021-08-30 Unity3D研究院之悬浮框显示其他游戏电流功耗(一百二十六)
你 发表评论:
欢迎- 12-06如何自定义Excel2003散点图的数据标志
- 12-06excel2007的sheet不见了怎么办
- 12-06Excel2010中进行设置取消密码的操作方法
- 12-06excel怎样使用IMSUM函数
- 12-06EXCEL快速输入数据
- 12-06excel中设置次要坐标轴的教程
- 12-06excel2003冻结窗格的教程
- 12-06Excel如何输入上标下标
- 开源分类
- 最近发表
- 开源网标签
本文暂时没有评论,来添加一个吧(●'◡'●)