在同一个镜头中,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