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

 所以的话,在同一个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

                     

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

 所以的话,在同一个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

           

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-30
  • 2021-11-25
  • 2022-02-08
  • 2021-09-15
  • 2022-12-23
  • 2021-04-29
猜你喜欢
  • 2021-06-20
  • 2021-12-29
  • 2023-03-24
  • 2021-07-30
  • 2022-12-23
  • 2021-07-18
相关资源
相似解决方案