zoukankan      html  css  js  c++  java
  • Unity3D研究院之将UI的点击事件渗透下去(转)

    转自 http://www.xuanyusong.com/archives/4241

    处理UI还有3D模型的点击推荐使用UGUI的这套事件系统,因为使用起来比较简洁,不需要自己用代码来发送射线,并且可以很好的处理同时点击UI和3D模型上。

    1.给3D摄像机挂一个Physics Raycaster组件。Event Mask过滤掉UI.

    2.用unity自带的Event Trigger 或者   http://www.xuanyusong.com/archives/3325 就可以对UI 或者 3D模型进行点击事件的监听了

    3.OK 当UI与模型相互叠加的时候,优先响应UI,并且响应最前面的UI.

    4.如下图所示,前面是UI后面是3D模型,被挡住的模型或者UI是不会被响应的。

    Unity3D研究院之将UI的点击事件渗透下去(九十) - 雨松MOMO程序研究院 - 1

    假如想把点击的事件透下去,让所有的UI或者模型都能正确的响应事件,怎么办呢?

    代码: 把这段脚本挂在最前面的UI上。 然后当接收到点击事件后,调用PassEvent把当前的事件透下去。由于UGUI的事件有很多种,比如点击 、抬起、拖动、落下、第二个参数就是ExecuteEvents.Handler 把对应的Handler传进去就行了。

    这样UI下面那些对应接收点击事件的地方都可以响应到了。。如下图所示,我点击在前面的UI后面的消息也能响应到了。

  • 相关阅读:
    使用NUnit做单元测试(总结版)
    http、ajax调试利器:Fiddler!!!(资料汇总)
    驳《从团购网站看中国人的创新精神》
    破解迷团:在asp.net  2.0服务器上运行.net 3.5(一)
    扩充NetCMS的功能:添加{TM:Repeater}{/TM:Repeater}标签
    TFS 2010 基础配置手动升级到高级配置 安装实践
    .net 中的 StringBuilder 和 TextWriter 区别
    最大团问题
    全排列问题
    ado.net连接池
  • 原文地址:https://www.cnblogs.com/mrblue/p/7077357.html
Copyright © 2011-2022 走看看