unity销毁层级物体及 NGUI 深度理解总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了unity销毁层级物体及 NGUI 深度理解总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1411字,纯文字阅读大概需要3分钟。
内容图文
http://www.2cto.com/kf/201311/258811.html
1.想找到层级面板中某个物体,并销毁,利用下面的代码:
GameObject obj = GameObject.Find("所要找的名字"); Destroy(obj);
如果要找的物体比较多,可以将找到的物体放在一个数组中,对于物体的名字如果是按照顺序或者一定规律命名的话,也可以通过for循环统一找并赋值,例如:物体的名字依次为house1,house2,……house10的话,定义一个string str;和一个GameObject类型的数组a存找到的物体,循环代码如下:
for(int i=1;i<11,i++)
{
str = “house”;
str = str +i;
a[i] = GameObject.Find("str");
Destroy(a[i]);//销毁找到的物体
}
还可以通过 GameObject.FindWithTag("标签名")来寻找,提前是给这些物体要添加tag
2.NGUI层级关系与非层级关系
NGUI层级关系就是创建时默认的那个层级关系,包括UIRoot , Camera , anchor,panel,非NGUI层级关系是Camera,然后在里面创建控件,但是Camera要挂上UIcamera 和UIpanel脚本。
//以下部分网上搜集
3.关于NGUI深度、层次总结(做过很多NGUI界面后理解会更深刻)
1、同一个panel下,同一个atlas的不同sprite的显示只受depth的控制,这是最经常用的方式。此时不论精灵的z轴如何变化,depth高的一定在前面。(相同atlas其实是共用同一个Z轴深度)
2、不同panel下,同一个atlas的不同sprite不受depth的控制,而受z轴控制。此时只需稍微调节下其中一个精灵的z轴就可以,比如0.1,就可以控制sprite的显示
3、不同panel下,不同atlas的精灵的穿插,受z轴的控制。
4、同一个panel下,不同Atlas的sprite,受z轴控制,depth不起作用。
项目中做到复杂一些的界面,经常会用到多个图集,以技能界面为例,项目中常用的图片放到共用图集中,
这是一个图集,技能界面本身独有的元素,比如跟技能职业相关的背景,算作第二个图集,还有一些技能图标,
图标单独归类到一个图集中,再一个就是字体的图集。基本一个界面如此分法,最多需要4个图集。NGUI的图集之间的
处理,默认是靠调整控件的Z值来区分的,但是这里他可以调整同一个图集每个一个控件的Z值,其实不是很好。经常会出现图层相互遮挡的情况,尤其对于控件比较多的界面,一段时间回过来再修改界面的时候,整个要崩溃。
我的做法是。在UIPanel中,为每一个Material添加一个layer的变量,当同一图层靠depth来决定前后关系,不同图层靠
layer来决定前后关系,在绘制UIDrawCall的时候,根据layer对跟节点做一定偏移。这样就能从Z值中解放出来。
如果大家也有碰到图层的问题,可以参考这样的做法,以此种方法来处理图层关系,简单,做过项目的圈套UI,还未有不能解决的情况。
原文:http://www.cnblogs.com/123ing/p/4089872.html
内容总结
以上是互联网集市为您收集整理的unity销毁层级物体及 NGUI 深度理解总结全部内容,希望文章能够帮你解决unity销毁层级物体及 NGUI 深度理解总结所遇到的程序开发问题。
如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
来源:【匿名】