转自 http://blog.csdn.net/lyh916/article/details/49945751
现在,网上流传着三种unity的UI框架:
1.
教程:http://blog.csdn.net/Fredomyan/article/details/46879203
github地址:https://github.com/tinyantstudio/UIFrameWork
2.
教程:http://www.cnblogs.com/neverdie/p/unity_ui_framework.html
github地址:https://github.com/MrNerverDie/Unity-UI-Framework
3.
教程:http://www.manew.com/thread-42929-1-1.html
github地址:https://github.com/chiuan/TTUIFramework
其中第一个是用ngui的,后面两个是用ugui的,所以这里只简单地介绍后面两种。
/
第二种(简单上手,源码简洁易懂):
脚本:
UIType:提供view的路径和名字
BaseView:提供事件回调函数,OnEnter,OnExit,OnPause,OnResume
BaseContext:持有UIType的引用
AnimateView:继承BaseView,持有Animator的引用
UIManager:持有一个<UIType, GameObject>的字典,其中GameObject即view,可以获取、实例化和摧毁view
ContextManager:持有一个Stack,控制view之间的切换
对每一个view的预制体,提供一个对应的BaseView和BaseContext。对于view中的子view,例如登录界面的登录按钮,可以通过拖拽父view的脚本,响应点击事件