码迷,mamicode.com
首页 > 其他好文 > 详细

UGUI技巧

时间:2016-04-24 18:39:55      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

  • 两张图片,如头像框,头像在背景图之上,头像会挡住背景的点击事件,要实现全框的点击效果,只需要将头像作为背景的子物体就可以了。当然头像上不能有Button组件。
  • 自带的CanvasGroup组件可以实现屏蔽其下所有UI的点击等事件触发,也可以实现整休改变所有子UI的alpha透明度。
  • RectMask2D,类似Mask,但:

    the limitations of RectMask2D control are:

    • It only works in 2D space
    • It will not properly mask elements that are not coplanar

    The advantages of RectMask2D are:

    • It does not use the stencil buffer
    • No extra draw calls
    • No material changes
    • Fast performance
  • UI和3D场景同时都需要响应触摸事件,在判断3D响应之前要先判断手指是否点击在UI上:
    void Update ()
    {
        if (EventSystem.current.IsPointerOverGameObject ())
            Debug.Log ("当前触摸在UI上");
        else
            Debug.Log ("当前没有触摸在UI上");
    }

    另外PhysicsRaycaster可以做MASK层次过滤,可以屏蔽你不想要的层触发点击事件,不过貌似对于2d物体没有作用。

   Graphics Raycaster的Raycast是个虚函数,可以写个Graphics Raycaster的派生类,在默认的Raycast操作执行完以后,用自定义的layer进行筛选,把不需要响应的gameobject去掉。这样就可以实现只响应某个layer的需求了。新手引导中只要把需要响应的gameobject设置为特定layer就行了。

 

UGUI技巧

标签:

原文地址:http://www.cnblogs.com/suoluo/p/5427514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!