美文网首页Unityunity3D技术分享Unity教程合集
热更新(四) -之uLua SimpleFramework

热更新(四) -之uLua SimpleFramework

作者: 周joe | 来源:发表于2016-12-16 23:28 被阅读1347次

看官网的撕逼文章 http://ulua.org/index.html

1,下载:SimpleFramework,并解压

Paste_Image.png

2,在Unity3D中打开SimpleFramework文件夹,载入工程中,菜单中可以看到有Lua,打开Welcome Screen

Paste_Image.png

第一步是清空,弹出框架后,就点击Clear,


Paste_Image.png

第二步是Gen Lua Wrap Files,弹出,,

Paste_Image.png Paste_Image.png

然后找到LuaWrap文件夹,在菜单中,先清空Clear,然后生成Gen Lua Wrap Files ,生成后,生成的类就会注册到Lua的环境中。


Paste_Image.png Paste_Image.png

为[AssetBundle] Build的


Paste_Image.png

Build后,会生成一个StreamingAssets文件夹,这些都是要更新的


Paste_Image.png
运行examples中的案例后,C盘里面这个simpleframework和StreamingAssets文件夹里面的文件都是相似的
Paste_Image.png

3,examples案例解析

,在c#里执行Lua代码,,,new Lua表示Lua解析器, DoString 表示执行Lua代码


Paste_Image.png

反射调用


Paste_Image.png
非反射调用
Paste_Image.png

在Unity中访问Lua中的变量
执行Lua脚本文件,调用Lua方法,在Lua中使用协程


Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png

4,框架启动第一步GlobalGenerator,生成appview和gamemanager

Paste_Image.png Paste_Image.png

5,GameManager中对资源的更新处理

Paste_Image.png Paste_Image.png Paste_Image.png

6,GameManager处理Lua的View的加载和初始化

安装并打开Lua Studio

Paste_Image.png Paste_Image.png

6,Lua代码中的结构和调用顺序和对资源的处理和对游戏逻辑的控制

Paste_Image.png Paste_Image.png Paste_Image.png

7,创建开发UI界面

Paste_Image.png

8,打包资源,创建GameManager的lua脚本

创建好的UI都做成预制件并保存,选择所有的UI图片成一个包,
用到的字体也打成一个包


Paste_Image.png Paste_Image.png

选择如下图的下拉菜单


Paste_Image.png

Build完成后,观察如下图文件夹有没有增加什么东西。


Paste_Image.png

接来下要通过Lua代码进行加载


Paste_Image.png

打开GameManager.cs代码,其中有需要改动的地方。


Paste_Image.png
找到Lua代码中的GameManager.lua,复制并重新写代码
Paste_Image.png Paste_Image.png

右键新建2个文件放在View下,处理场景中2个预制件的


Paste_Image.png

9,开发View视图层下的Lua代码,来获取UI中的组件

编写Lua中的ButtonPanellua代码


Paste_Image.png

场景中SettingsPanel添加设置界面从小到大的动画


Paste_Image.png
再添加一个面板隐藏的动画
Paste_Image.png

继续,反向设置,由大变小


Paste_Image.png
做成动画状态机
Paste_Image.png
弄好上面后,编写Lua中的SettingsPanellua代码 Paste_Image.png

10,开发Controller控制层下的Lua代码,控制UI控件的产生和事件监听

首先在Lua中的Controller右键建SettingsCtrl.lua文件


Paste_Image.png Paste_Image.png

接着,在Lua中的Controller右键建ButtomCtrl.lua文件

Paste_Image.png

然后,之前的GameManager.lua再更改如下


Paste_Image.png

写完代码后,资源需要Build一下


Paste_Image.png

11,发布到手机上,启动Server,进行Lua代码的更新

发布前,在菜单中,先清空Clear,然后生成Gen Lua Wrap Files ,生成后,
发布到安卓上


Paste_Image.png

C#代码中AppConst.cs要修改


Paste_Image.png Paste_Image.png

接下来把服务器端集中起来,先打开工程所在的目录

Paste_Image.png

打开Server.sln


Paste_Image.png

进一部找到HttpServer.cs并打开


Paste_Image.png

把代码改为连接本机


Paste_Image.png

接下来返回到Server里面去启动,找到bin文件夹


Paste_Image.png

找到SuperSocketSocketServer.exe文件
右键以管理员身份运行


Paste_Image.png

弹出界面


Paste_Image.png
服务器端运行成功后,可以发布了
Paste_Image.png
编译出错,框架要修改一下。把#endif挪动一下位置
Paste_Image.png

接下来做更新,看安卓端能不能同步过来
打开Luastudio,打开里面的解决方案

Paste_Image.png

设置按钮


Paste_Image.png Paste_Image.png

改完代码后,在Unity里面更新一下,热更新就完成了


Paste_Image.png

12,热更新完结篇-游戏资源更新和游戏逻辑的更新

相关文章

网友评论

    本文标题:热更新(四) -之uLua SimpleFramework

    本文链接:https://www.haomeiwen.com/subject/kiiwmttx.html