Unity版本:5.3.2
LuaFramework版本:2016-07-16
1.下载NGUI版本的LuaFramework,并将其合并到新的unity工程中,导入工具包到工程中。按照http://blog.csdn.net/lyh916/article/details/51015156所说的,修改一下源码。
2.资源的准备。如图,将工具包的Resources下的预制物拖到指定位置。
3.资源的打包。点击菜单栏"LuaFramework/AddBuildMap",选中First、Main、Second、Third和Shared这几个文件夹,点击"自动填写","保存",“保存”。此时会在Assets下生成一个AssetBundleInfo的csv文件。需要对Shared文件进行打包(ResourceManager类中initialize方法的需要),要把Shared/Atlas下的东西拖到Shared下。然后点击菜单栏"LuaFramework/Build Window Resource"进行打包。
4.生成lua模板。点击菜单栏"LuaFramework/AutoRegister",然后按照http://blog.csdn.net/lyh916/article/details/51345461填写并生成模板。完成后,三个lua文件(define.lua、CtrlManager.lua和Game.lua)会被修改,并且针对每一个面板,会生成一个对应的xxxPanel和xxxCtrl。找到define.lua,在Message = "MessageCtrl"这行的末尾加上逗号。找到MainCtrl.lua,修改为panelMgr:CreatePanel('Main', MainCtrl.OnCreate);。找到UIPanelBase.lua,拖到Logic文件夹下。再次Build。
5.此时如无意外就会看到新的界面。关于游戏启动流程,可以看一下http://blog.csdn.net/lyh916/article/details/45021703。此时还没有具体的逻辑,所以用工具包的Concrete下的几个lua文件替换即可。将一些需要用到的类生成wrap文件。重新打包。如果Panel是播放缩放0到1的动画出现的,则需要给预制物设置缩放0;如果Panel是播放从屏幕外移动到屏幕内的动画出现的,则需要给预制物设置在屏幕外;等等。否则当加载出完整的界面,然后播放动画,就会出现闪现的效果。不过呢,LuaFramework为了实例化的位置和缩放正确,在PanelManager.cs中对创建出来的Panel的位置和缩放进行了重置。因此建议对Panel预制进行隐藏。
工程下载:
http://pan.baidu.com/s/1mhCCABu