使用Lua与C#/Mono

我正在使用OpenTK库,用C#/Mono编程计算机游戏。我想为游戏使用Lua脚本语言,这样那些不了解C#的人也可以编辑脚本、关卡等等。然而,问题是我找不到任何方法如何在C#/Mono中使用Lua。我找到了很棒的[LuaInterface](http://code.google.com/p/luainterface/),但是[它不能在Mono上工作](https://stackoverflow.com/questions/1533799/how-to-use-luainterface-on-mono-linux)。我在Windows上试过,它确实可行,但是在Linux(Ubuntu)上却不行。替换lua51.dll并不能简单地解决问题。

我想问一下,是否有任何适合在Mono上使用LuaInterface的方法(我没有找到任何LuaInterface的源代码以供编辑和重建;我也听说旧版本的LuaInterface可以在Mono上工作,但是我没找到可以下载的版本),或者是否有其他适用于C# / Mono的适当库,你以前使用过并且你知道它可以工作。我已经搜索了很长时间,但是我没有找到任何东西,我不想花几周时间自己编程。

我猜也可以使用C#进行脚本编写,而不是Lua,但我不太喜欢这个想法,尽管我不知道为什么。

原文链接 https://stackoverflow.com/questions/8952409

点赞
stackoverflow用户38256
stackoverflow用户38256

在 .Net 中有一个功能 (也包括在 Mono 中) 叫做 动态语言运行时

我不知道 Lua 是否被支持,但有 PythonRuby 的 DLR 实现 - 这两个也在 Mono 上运行,也在 Microsoft CLR 上运行。

请查看 这个问题 来了解使用 C# 作为脚本语言的信息。

编辑:实际上,有一个 IronLua 项目,但我不知道它有多完整。

2012-01-21 10:58:34
stackoverflow用户667580
stackoverflow用户667580

你可以使用lua语法这个答案来找到创建C#代码的编译器生成器。我认为这是支持外部语言支持的最好和最简单的方法。为什么呢?因为你可以很快地添加任何语法结构的事件,以及添加任何你想要的语言扩展。

2012-01-21 11:35:02