您的位置:首页 > 编程语言 > Lua

(五)Lua开篇

2018-03-31 17:17 225 查看

unity3D里为什么要使用lua :

  Unity3D是个好引擎,但有一个缺憾是iOS下无法热更新。如果能用Lua写Unity3D的游戏逻辑,那就可以绕过苹果审核随意更新了。

  有一种方法是用C#的基础上实现Lua。这个网上可以查到有几种版本。但这种运行效率没保障,据说比一般的Lua要慢10倍。还有一种方法是使用C版本的Lua,使用Unity3D Pro 的Plugin 功能,用PInvoke 让C# 与原生的Lua 引擎交互。

  Unity3D 工程里的 C# 部分,应该尽量的少而且与游戏内容无关。 因为在iOS平台上它是没有办法热更新的。 那么 C# 代码的内容应该包含:

1. 游戏开始时启动Lua。

2. 游戏崩溃时上传debug信息、修复客户端。

3. 一个记录数据用的Monobehaviour组件 ,仅仅用来让 Prefeb 能记录一些附加信息,方便编辑。

4. 一系列回调用的Monobehaviour组件,让Lua 可以注册一些 Update 之类的事件回调。

除了这些C# 程序之外,所有其它的游戏内容都能动态更新。 理论上一个游戏一热更新,可以变成任意的另一个游戏

5、 热更新是一种各大手游等众多App常用的更新方式。简单来说,就是在用户通过App Store下载App之后,打开App时遇到的即时更新。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lua unity3d