游戏人生
About Me
  • 你好
  • Math
    • Number
      • Float IEEE754对确定性的影响
      • Pairing Function及其用途
    • Vector and Matrix
      • TRS基础概念
      • LossyScale深入分析
    • Quatenion
      • FromToRotation实现细节
    • Lerp and Curve
      • Slerp球形插值
      • Bezier Curve为什么重要
      • Interpolation和Extrapolation实现细节
  • Programming
    • C#
      • 学习资料
      • C# struct灵魂拷问
      • CIL的世界:call和callvirt
      • .NET装箱拆箱机制
      • .NET垃圾回收机制
    • Go
      • 基础特性
      • 如何正确的判空interface
      • 如何用interface模拟多态
      • 如何定制json序列化
      • 如何安全在循环中删除元素
      • 如何安全关闭channel
      • 如何集成c++库(cgo+swig)
      • 如何性能测试(benchmark, pprof)
    • Lua
      • 基础特性
  • General Game Development
    • Game Engine
      • 学习资料
      • 关于游戏引擎的认知
    • Networking
      • 帧同步
      • 状态同步
      • 物理同步
    • Physics
      • PhysX基本概念
      • PhysX增加Scale支持
      • PhysX场景查询
      • PhysX碰撞检测
      • PhysX刚体动力学
      • PhysX角色控制器
      • PhysX接入项目工程
      • 物理同步
      • 物理破坏
    • Design Pattern
      • 常用设计模式
      • MVP 架构模式
      • ECS 架构模式
  • Unity
    • Runtime
      • Unity拥抱CoreCLR
      • 浅析Mono内存管理
    • UGUI
      • 浅析UGUI渲染机制
      • 浅析UGUI文本优化
      • 介绍若干UGUI实用技巧
    • Resource Management
      • 浅析Unity堆内存的分类和管理方式
      • 深入Unity资源
      • 深入Unity序列化
      • 深入Assetbundle机制
    • Async
      • 深入Unity协程
      • 介绍若干Unity协程实用技巧
      • 异步动作队列
    • Hot Reload
      • Unity+Xlua
      • Xlua Examples学习(一)
      • Xlua Examples学习(二)
    • Editor Extension
    • Performance
      • 浅析Unity Profiler
      • 介绍一个Overdraw分析工具
  • Platform
    • WebGL
  • Real-world Project
    • Souce Engine
    • DOOM3 BFG
Powered by GitBook
On this page
  1. Unity
  2. Hot Reload

Unity+Xlua

PreviousHot ReloadNextXlua Examples学习(一)

Last updated 2 years ago

#愉快地在Unity里与Xlua玩耍

Xlua原是腾讯内部项目,后来开源,相比于之前市面上的Unity+Lua热更新解决方案,有着自己的优势。要注意的是,Xlua不仅用于Unity,只是我们这里重点讨论其在Unity中的使用。 开源项目地址: https://github.com/Tencent/xLua (作者:车雄生) 由于Unity不能原生支持Lua,在使用Lua进行开发时,编写和调试难度比c#要大,为此有必要使用辅助工具,加速开发流程。这里简要地介绍一些个人觉得不错的辅助工具。

I. 基本开发环境

  • Visual Studio 2015 (Community)

  • 。是一个VS插件,安装和下载都比较简便。

  • Lua 5.3.3

代码自动补全

  • 首先,下载这个

  • 参照压缩包里的 readme.txt 操作即可,效果不错。如果是新手,最好参考以下具体说明。

  • (1)ExportLuaSyntax.cs中报错的部分,直接注释掉即可。但从中可以发现可以自定义一些需要导出给BabeLua用来给出语法提示的类名。

  • (2)关于新建Lua工程的说明。 由于unity识别不了lua,所以不会自动将其添加到我们的c#工程中,需要在同一个解决方案里自己手动新建一个lua工程,来管理我们的lua代码。创建新lua工程填写参数如下图所示

  • Lua scripts folder的含义就是你存放自己的lua逻辑代码的地方。

  • Working path一般和上面填的一致

  • Lua project name是lua工程显示在VS里的名字而已。

  • Command line不填也可以,除非你想从命令行执行你的lua代码。 新建工程后,右键Add item添加一个hello.lua,这就可以了。

  • (3)在Unity中的Xlua菜单下选择ExportluaSyntax,重启VS,试着在hello.lua中打出xlua.,应当有完善的提示了。

BabeLua
压缩包