zoukankan      html  css  js  c++  java
  • UI事件监听的击穿

    什么是UI事件监听的击穿

      在游戏视图中,有两个UI界面叠在一起的时候,单击一个空白处,却触发了被覆盖在下层了UI界面中的单击事件,这就是单击击穿了上层界面。

      假设场景中放置了一个箱子,单击箱子会触发一个开箱事件,如果单击一个UI,恰好UI在视觉上将箱子覆盖了,那么它也许就会触发箱子的单击事件。

    如何避免和解决UI事件监听的击穿

      第一种方法:用一层BoxCollider覆盖,进行遮挡。

        在界面底板上Attach一个BoxCollider。

      第二种方法:使用EventMask

        Unity的Camera可以设置CullingMask来决定渲染的层,对于NGUI的事件监听核心组件UI Camera来说,也有一个EventMask的设置。首先将下层物体和上层物体设为不同的层,然后在UI Camera中设定这个摄像机只接受特定层的时间即可。

    事件监听遮挡的妙用

      如下需求:假设玩家打开了一个界面,然后玩家如果单击了这个界面以外的任何区域,都将导致整个界面关闭。

      可以在界面的下面放置一个覆盖全凭的大型BoxCollider底板,然后给这个BoxCollider物体写一个单击事件,就是关闭打开的这个界面。这样当玩家单击到界面以外的任何区域时,它都会响应关闭界面的事件。

  • 相关阅读:
    Mybatis框架学习02
    第四周学习进度
    第四周安卓开发学习总结(2)
    第四周安卓开发学习总结(1)
    使用Python进行疫情数据爬取
    使用Jsoup进行疫情数据爬取
    Mybatis框架学习01
    第三周学习进度
    第三周安卓开发学习总结
    全国疫情统计地图可视化(2)——实现数据下钻
  • 原文地址:https://www.cnblogs.com/-soy/p/5879840.html
Copyright © 2011-2022 走看看