背景 19年年初的时候,进到一家新单位,公司正准备将现有的游戏做成支持热更的版本。于是寻找热更方案的任务就落在了我头上。 经过搜索了解,能做Unity热更的方案是有好几种,但是要么不够成熟,要么不支持iOS平台,相对来说,还是用Lua来实现比较靠谱。 而Lua的热更方案也有好几种 ...
一 tolua c 调用lua:LuaState 变量名 函数名 .LuaState a.执行lua代码段 DoString string DoFile .lua文件名 Require .lua文件名 但没有.lua后缀 b.获取lua函数或者表 LuaFunctionfunc lua.GetFunction 函数名 或者 LuaFunction func lua 函数名 as LuaFunct ...
2016-11-27 22:01 0 4815 推荐指数:
背景 19年年初的时候,进到一家新单位,公司正准备将现有的游戏做成支持热更的版本。于是寻找热更方案的任务就落在了我头上。 经过搜索了解,能做Unity热更的方案是有好几种,但是要么不够成熟,要么不支持iOS平台,相对来说,还是用Lua来实现比较靠谱。 而Lua的热更方案也有好几种 ...
前言 在上一篇文章 Unity3D热更新之LuaFramework篇[08]--热更新原理及热更服务器搭建 中,我介绍了热更新的基本原理,并且着手搭建一台服务器。 本篇就做一个实战练习,真正的来实现热更新功能。 一、准备工作 1、制作一个用于热更新的界面 此前我制作 ...
前言 因工作关系,需要对手头的项目进行热更新支持。了解后发现,Lua的几个变种:XLua、ToLua(原uLua)和Slua都可以做Unity热更,而ToLua更是提供了一个简易的热更框架--LuaFramework_UGUI,使得上手变得容易,因此选定LuaFramework ...
先来看下框架是怎么展示一个界面的: lua层的入口是Game.OnInitOK,然后调用PromptCtrl.Awake,加载并创建PromptPanel,给界面挂上LuaBehaviour,在Lu ...
http://www.gameres.com/670141.html ...
前言 前面铺垫了这么久,终于要开始写热更新了。 Unity游戏热更新包含两个方面,一个是资源的更新,一个是脚本的更新。 资源更新是Unity本来就支持的,在各大平台也都能用。而脚本的热更新在iOS平台则是不被允许的(除了Lua)。 为了让一套代码能在各个平台都支持热更,将游戏 ...
前言 在上一篇文章 Unity3D热更新之LuaFramework篇[06]--Lua中是怎么实现脚本生命周期的 中,我分析了由LuaBehaviour来实现lua脚本生命周期的方法。 但在实际使用中发现,只有一个这样的脚本还不够。 LuaBehaviour驱动 ...
tolua中c#和lua交互过的对象都有一个ref编号, ref是int类型,ref唯一不重复,一个ref对应一个c#对象 tolua中任何c#对象在lua中对应的userdata都是一个int类型的内存指针地址,通过对这个userdata设置 ...