开发之前的思考-UI结构设计

时间:2022-09-25 22:11:49

UI结构设计遵循的一些要点

  1.尽量不要让UI作为Camera的子物体

    因为UI和摄像机敏感的关系,尽量不要将UI作为摄像机的子物体,避免出现一些因为透视(3D UI)等问题导致的视觉Bug。

  2.尽量让Anchor组件所在的物体在最上层

    因为屏幕自适应的适配工作是游戏避免不了的一个问题,Anchor组件所在的物体因为它具有定位自适应的重要功能,所以不宜太多,否则很乱不宜管理。最简单的方法就是尽量确保Anchor处于最上层。

  3.给UI分类,多做节点管理

    比如一个场景中,有很多按钮菜单,每一个菜单点开之后都会出现一个相应的子界面,所以,可以用一个空物体(注意要和UI同层)作为菜单的总节点,然后用另一个空物体作为所有子界面的总节点。给每一种UI类型都做一个节点以此来管理,避免各种UI直接放在一起难以管理和维护。

  4.重视深度管理并巧用Panel

    界面在画面上的显示次序是根据深度来的,这个深度主要指Panel的深度和每一个控件的深度。其中Panel的深度优先,只要是深度更大的Panel,它下面的所有子UI物体,几乎都将显示在更上层。利用这一点可以轻松地放置一些UI之间的层次错乱问题。

  5.重视命名

    

需要的时候,分场景以减轻内存负担

  因为UI图集在使用时,会以一整个图集全部加载到内存当中。如果有10个系统,每一个系统的界面都是全屏界面,都有一张巨大的界面独有的背景图,那么这10个系统的界面所用到的资源将会导致内存很大。

  而Unity有一个机制是切换场景之后,会清除以前的内存,所以,在适当的情况下,可以考虑分场景来制作UI,以减轻内存的负担。相当于点开一个UI实则是进入了一个新的场景,看上去就像是全屏界面的效果一样,退出UI面板就相当于回到了之前的场景。

开发之前的思考-UI结构设计的更多相关文章

  1. 领域驱动和MVVM应用于UWP开发的一些思考

    领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ...

  2. 实战使用Axure设计App,使用WebStorm开发(4) – 实现页面UI

    系列文章 实战使用Axure设计App,使用WebStorm开发(1) – 用Axure描述需求  实战使用Axure设计App,使用WebStorm开发(2) – 创建 Ionic 项目   实战使 ...

  3. UWP开发的一些思考

    UWP开发的一些思考 领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中 ...

  4. 无需编码开发快速设计互动式UI - uilang

    uilang是一个非常小巧的ui类库,可以帮助不熟悉前端代码的web设计人员快速的开发互动式UI.你只需要使用“语义式”的说明来控制元素的动态效果. 开发中你只需要在<code>标签内部输 ...

  5. Google的跨平台开发高质量原生 UI 的移动 SDK---Flutter免费且开源

    Flutter开发 https://www.cnblogs.com/zengfp/p/9927860.html Flutter 是 Google 用以帮助开发者在 iOS 和 Android 两个平台 ...

  6. &lbrack;网页游戏开发&rsqb;进一步了解Morn UI及工作流

    Morn UI工作流 Morn Builder不仅仅是对Flash IDE的改进,传统的开发协作是以fla为基础,由于fla是二进制文件,在以svn等版本控制软件协作下,合并过程中会出现各种各样的问题 ...

  7. &period;NET Core 对龙芯的支持情况和对 &period;NET Core 开发嵌入式的思考

    目录 .NET Core 对龙芯的支持情况和对 .NET Core 开发嵌入式的思考 一,遗憾的尝试 二,.NET Core在嵌入式下的几点不足 三,.NET Core 龙芯移植的进展和资料 .NET ...

  8. winform项目中开发的一套UI控件库

    https://github.com/houyhea/winform-control-lib winform-control-lib 曾经在一个winform项目中开发的一套UI控件库 类图:  效果 ...

  9. iOS技术开发-人机交互指南之UI设计基础:iOS App Anatomy

    第二篇更多的是从技术的角度对iOS界面组成原理进行了简单的解析,篇幅很短,可稍作了解:更多关于iOS开发入门的内容可参考“设计师应该了解的iOS应用开发基础知识”一文.另外,非常感谢各位朋友在微博上的 ...

随机推荐

  1. 1、Delphi 打开目录和txt文件模块

    //1.打开目录和打开txt文件 procedure TMainForm.bbtnOpenLoClick(Sender: TObject); var sLogName: string; begin s ...

  2. 十、Java基础---------面向对象之抽象类与接口

    抽象类(abstract)     当编写一个类时,时常会为该类定义一些方法,这些方法的使用用以描述该类的行为方式,那么这些方法都有具体的方法体.但是在某些情况下,某个父类只是知道子类应该包含怎样的方 ...

  3. IT公司100题-25-求字符串中的最长数字串

    问题描述: 实现一个函数,求出字符串中的连续最长数字串.例如输入”12345cbf3456″,输出”12345″. 函数原型为: void conti_num_max( const char * sr ...

  4. BZOJ3939 &colon; &lbrack;Usaco2015 Feb&rsqb;Cow Hopscotch

    设f[i][j]表示到(i,j)的方案数,则有 $f[i][j]=\sum f[x][y](x<i,y<j,a[x][y]!=a[i][j])=\sum f[x][y](x<i,y& ...

  5. 转:云计算的三种服务模式:IaaS,PaaS和SaaS

    转: http://www.cnblogs.com/beanmoon/archive/2012/12/10/2811547.html 云服务”现在已经快成了一个家喻户晓的词了.如果你不知道PaaS, ...

  6. NHibernate -- HQL

    使用NHibernate中的HQL来查询数据. 代码: /// <summary> /// 查找事件 /// </summary> private void btn_Selec ...

  7. CSS3利用背景渐变和background-size配合完成渐变与条纹效果&lbrack;持续更新中&period;&period;&period;&rsqb;

    1.不等垂直条纹. <!-- 不等垂直条纹 --> <div class="div1"></div>div1 div{ width: 200px ...

  8. 前端学习——jquery操作例子

    一.jquery和DOM函数的转换 . jquery转换成dom $(] . dom转换成jquery var i1=documen.getElementById('#i1')---------&gt ...

  9. sqlserver中调用服务器中的webservice接口

    declare @ServiceUrl as varchar(1000) declare @UrlAddress varchar(500)--WebService地址:以http开头,结尾带斜杠,例如 ...

  10. C&num; 其他的Url 文件的路径转化为二进制流

    //将虚拟路径转化为文件的路径然后最后转化为文件流 public ActionResult SaveImage(string path) { var url =System.Web.HttpConte ...