我们需要在 Unity 应用程序中使用一些用 Lua 编写的特定库。
除了用 C#/JS 完全重写之外,还有什么可能的方法吗?
3 回答
如果您的目标是网络播放器,则不会。Web 播放器构建在沙箱中运行,无法加载外部代码,因此除了用 C# 编写 Lua 解释器(!)可能是个例外,你不走运。
如果您的目标是桌面构建或移动设备,那么您可以包含外部插件并通过脚本调用它们。这意味着您可以导入 Lua 并告诉它运行您的 Lua 脚本。
然而,这可能仍然比它的价值更麻烦,因为您必须自己加载和初始化 Lua 运行时,因此您最好只重写代码。
请注意,对于桌面平台,需要 Pro 许可证。对于移动平台(iOS/Android),您可能需要跳过一些步骤才能真正将您的 Lua 脚本文件加载到 Lua 运行时中。
这是单声道https://github.com/NLua的 lua 解决方案, 您可以更改一些代码,让其在 unity3d 中工作。我这样做了。
Lua 框架可能与您相关:https ://www.assetstore.unity3d.com/en/#!/content/30055
从他们的网站:
Lua 框架建立在 MoonSharp 的强大功能之上,MoonSharp 是 Lua 语言的现代且免费的 .NET 实现。与以前的 .NET 到 Lua 的桥梁(如 LuaInterface、NLua 或 UniLua)不同,MoonSharp 提供了非常直观的用户体验,具有快速的学习曲线、快速的性能、定期更新、支持最新的 Lua 5.2,并支持 Unity 的 .NET Mono 实现开箱即用的语言,适用于所有 Unity 版本和许可证,包括 iOS。