Lua与C#连接

5人阅读 评论(0) 收藏 举报
分类:

        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 文件下, 至于找不到文件什么的,同上

查看评论

Unity3D热更新基础:C#与Lua相互调用

在使用Unity开发游戏以支持热更新的方案中,使用ULua是比较成熟的一种方案。那么,在使用ULua之前,我们必须先搞清楚,C#与Lua是怎样交互的了?...
  • zhuweisky
  • zhuweisky
  • 2017-04-13 19:25:07
  • 2125

Lua与C#的区别

Lua中没有 ++ 、 +=运算; Lua中可以通过 "^" 求幂   --> 10^3 == 1000  ;100^(0.5) == 10 取余的算法(floor方法,取比指定数小的最大...
  • Cc_Super
  • Cc_Super
  • 2016-12-09 09:54:28
  • 1135

Lua学习之路_C#与Lua的交互001

这几天在搞指纹打卡机,搞着搞着就摸到lua拉,
  • Vincent_cjc123
  • Vincent_cjc123
  • 2014-08-29 16:59:21
  • 1125

Lua与C#交互

Lua与C#交互 //------------------------------------------------------------------------------ // // ...
  • husheng0
  • husheng0
  • 2015-09-02 22:31:12
  • 2762

用好Lua+Unity,让性能飞起来——Lua与C#交互篇

原文链接:http://blog.uwa4d.com/archives/USparkle_Lua.html 整合Lua是目前最强大的Unity热更新方案,毕竟这是唯一可以支持iOS热更新的办法。...
  • UWA4D
  • UWA4D
  • 2017-01-11 15:55:10
  • 1209

Unity热更新(四): C#与Lua交互

LuaInterface 是什么 LuaInterface用来集成lua语言和.netCLR。许多语言都已经针对CLR的编译器了,CLR已经实现了MircrosoftWindows、BSD和Linux...
  • S17728022507
  • S17728022507
  • 2017-06-22 17:43:07
  • 1530

lua中调用C#

1.将luanet.dll文件拷贝进工程目录下bin/Debug文件夹下 2.编写lua文件(编码格式应为ANSI) require "luanet" --加载C#命名空间 luanet.lo...
  • u011244737
  • u011244737
  • 2015-11-23 17:25:59
  • 3363

Lua与C#调用原理

mark…
  • zhou8jie
  • zhou8jie
  • 2017-05-09 17:04:40
  • 331

ulua在C#中调用lua并传递参数

lua代码 Test = {} function ShowText( str ) if str == nil then return end print("我来自Test.lua"..s...
  • yuxikuo_1
  • yuxikuo_1
  • 2016-08-04 10:54:47
  • 1715

c#导入类到lua

lua与c交互遵循的主要思想是,c你需要什么东西,你给我lua说,我帮你生成,你只能用我给你的api来操作这些lua对象,这些api采用了一个栈结构作为和lua交互的存储结构,以约定的方式把参数放入l...
  • u010544244
  • u010544244
  • 2017-03-31 19:12:06
  • 556
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 11万+
    积分: 7608
    排名: 3554
    博客专栏
    acm

    文章:493篇

    阅读:83252
    openGL

    文章:15篇

    阅读:6870
    最新评论