1.unity中 UI 系统的发展历程
(1)Legacy GUI:unity最早的UI技术,它只有两个组件,文字和图片(GUIText,GUITexture),配合鼠标事件来实现界面UI交互,现在基本已经不用了,只有在一些老项目里面可以看到。
(2)OnGUI:可能是Legacy GUI功能太少,unity然后内置了OnGUI,OnGUI需要使用代码创建UI,设置UI的位置,大小等。
缺点:OnGUI创建的UI会每一帧都调用,会花费大量的主线程CPU时间以及GC分配,比较消耗性能。GUI创建的UI需要在运行的时候才能看见,不运行的时候看不见。GUI类只能在OnGUI方法内使用。
(3)NGUI:因为OnGUI使用起来非常麻烦,然后有人开发了NGUI插件,可以更好的控制和管理UI,是“所见即所得”的形式制作UI,因此大家都开始使用NGUI插件来创建UI。目前国内大部分的游戏的界面 UI,还都是使用 NGUI 插件来实现的。
(4)UGUI:Unity 自 4.6 版本后推出的 UI 系统,也是“所见即所得”的形式制作UI,随着UGUI的不断完善,大家慢慢开始使用unity自带的UGUI来创建界面UI,直到现在还是最常用的。
2.OnGUI的主要控件
(1)Label:标签是非交互式的。它仅用于显示,无法单击或以其他方式移动它
(2&