Unity 修改子物体/UI层级遮挡的顺序关系(亲测有效)

                       

 在同一个镜头中,canvas中所有的物体在进行渲染时,会按照先后顺序,即后渲染的会遮住先渲染的。因此在设定一些比如按钮的遮挡关系的时候。可以将想要在最上层的UI放到最后去渲染,修改Hierarchy层级面板从上往下的顺序。
举个例子:
 将gameover放到最上面时,就会被挡到。
这里写图片描述
这里写图片描述
 当将顺序调到下面之后,就不会被挡到了。
这里写图片描述
这里写图片描述

 所以的话,在同一个canvas中,物体的的排列顺序会直接影响最后UI界面的显示效果。因为游戏中一般会动态产生物体,所以需要使用代码来调整子物体的顺序。下面给出untiy5.x版本的脚本,对于4.x的话,自己对照着调用相关函数:

 int count = parentTransform.childCount;    //参数为物体在当前所在的子物体列表中的顺序    //count-1指把child物体在当前子物体列表的顺序设置为最后一个,0为第一个    childTransform.SetSiblingIndex(count - 1);
   
   
  • 1
  • 2
  • 3
  • 4

参考:http://blog.csdn.net/haobaworenle/article/details/71250011

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/qq_43679554/article/details/86528375