Unity3D热更新<三> Me-slua 框架


框架地址 https://github.com/lulersoft/me_SLua

公司在这个基础上改了一些,已经又做了新的功能,可能不能适用。参考性不强,写在这里是为了工作方便记忆。

1.创建一个prefabs,指定assetBundle,后缀名为ab文件,使用插件打包。路径:RES/模块名称/prefab

2.打包成ab,编辑器sc-打包ab-打包选中的对象。路径:Date/asset/ios

3.创建一个lua文件,写业务逻辑,要放在lua文件夹下面的对应模块下面 路径:Lua/模块名称/view/UI

4.修改lua文件,比如LoginRoot LoginView添加代码  rootsconfig定义每个模块的root名和路径   functions文件定义了一些lua里引用u3d方法


loginRoot里实例化对象      不一定写在这两个文件里,但是一到要加入ab包和创建prefab

function main:onAdd()

PUI=GameObject.Find("PUI") 
        //参数   prefabs名字  资源包名字 lua脚本路径   父对象
testtest=self:CreatePrefab("Test.prefab","testtest.ab","login/view/ui/Test.lua",PUI)

end

LoginView里加入ab包

 local bundles = {"loginpanel.ab","testtest.ab"}

5.同步lua,编辑器school-1.同步lua到下载文件夹。  路径:mac缓存文件夹。lua也同步到:Date/Lua/模块名称/view/UI ,并且加密。

6.最后初始化游戏 自动生成一个  ab.manifest的资源依赖关系配置文件   


操作工程中一共有6个文件.


UNITY3D封装成lua的方法在api.cs中 


local yaoQuanShuPlayBtn=nil    yaoQuanShuPlayBtn=main["YQS_BG__YQS_BGImage__YQS_PlayBtn"]  关联u3d对象和lua变量   子对象中间加__

写对象的引用的时候,如果有层级关系,一定要从挂lua脚本的物体往下写(不包含这个物体),否则找不到,很坑。

实用update方法,要先打开,this.usingUpdate = true;  用完再关闭 


类上加 [CustomLuaClassAttribute] 是提供给lua来调用,需要make一下。 


string.Substring(1,3) //从第一个字符开始取,取3个 


GIF版本控制SourceTree使用

1.拉取一个远程仓库到本地,建一个本地分支。

2.提交的时候先推送到远端上的本地分支。

3.将master拉取到最新,然后合并到本地分支。

4.将本地master推送到远端master.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是重阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值