C#连Lua
学了一天,先记录下,方便之后自己去别的电脑上安装。以及几个bug
一:搭建lua环境,这里直接提供个Lua for windows ,解压就能用。
二:vs2017引入两个dll(luanet.dll,luaInterface.dll),并添加引用(luaInterface.dll)
https://pan.baidu.com/s/1-NTm0d0pjfrnvyshKIKf5Q
三:语法就不存了,直接存连接的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LuaInterface;
namespace cs2lua
{
class Program
{
static void Main(string[] args)
{
Lua lua = new Lua();//创建lua的解释器
/*
直接运行
lua.DoString("num=2");
lua.DoString("score=99");
Object[] vals = lua.DoString("return num,score");
foreach(object obj in vals)
{
Console.WriteLine(obj);
}
*/
//执行已经存在的lua脚本
lua.DoFile("myLua.lua");
Console.ReadKey();
}
}
}
11
可以直接在vs里建一个类myLua.lua。
第一次执行的时候报错,未找到文件,将
改为始终复制
第二次执行的时候报错,symbol near ? ,将我们创建的lua改为ansi编码即可
Lua连c#
require "luanet"
luanet.load_assembly("System")
Int32=luanet.import_type("System.Int32");
print(Int32);
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LuaInterface;
namespace cs2lua
{
class Program
{
static void Main(string[] args)
{
//创建lua的解释器
Lua lua = new Lua();
//执行已经存在的lua脚本
lua.DoFile("scripts.lua");
Console.ReadKey();
}
}
}
注意会报错找不到
luanet
此时,需要把luanet.dll手动拷贝到\cs2lua\bin\Debug 文件下, 至于找不到文件什么的,同上