找回密码
 立即注册
查看: 246|回复: 0

[Unity热更新]tolua# & LuaFramework(十一):实践

[复制链接]
发表于 2021-8-18 09:00 | 显示全部楼层 |阅读模式
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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 12:01 , Processed in 0.090513 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表