LuaInterface的使用技巧
2009-09-29 15:37
218 查看
using LuaInterface; //记得引用 LuaInterface.DLL到工程中
namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
class testclass //这个类用来存放要开放给LUA的函数
{
public void ShowMessage(string s)
{
MessageBox.Show(s);
}
}
private void button1_Click(object sender, EventArgs e)
{
Lua lua = new Lua();
testclass a1 = new testclass();
lua.RegisterFunction("ShowMessage", a1, a1.GetType().GetMethod("ShowMessage")); //注册函数给LUA
try
{
object[] obj = new object[2]; //先申请对象
//LUA中调用 C#的函数
lua.DoString(“ value = 0 /nfunction add(a,b)/n return a+b,a*b /n end /n value = add(1,2) /nShowMessage(value)”);
// 执行脚本,显示计算结果3
//C#中调用 LUA的函数
LuaFunction add=(LuaFunction)lua.GetFunction("add");
if(add != null) //由于从脚本中获取函数,有可能获取不到,所以这里要做容错
obj = add.Call(new object[] {2,3});
//这个时候 obj[0] 就等于5,obj[1] 就等于6 函数返回多个值
Double val=lua.GetNumber("value"); //获取脚本中的变量值
}
finally
{
ShowMessage("执行完成");
}
}
}
}
namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
class testclass //这个类用来存放要开放给LUA的函数
{
public void ShowMessage(string s)
{
MessageBox.Show(s);
}
}
private void button1_Click(object sender, EventArgs e)
{
Lua lua = new Lua();
testclass a1 = new testclass();
lua.RegisterFunction("ShowMessage", a1, a1.GetType().GetMethod("ShowMessage")); //注册函数给LUA
try
{
object[] obj = new object[2]; //先申请对象
//LUA中调用 C#的函数
lua.DoString(“ value = 0 /nfunction add(a,b)/n return a+b,a*b /n end /n value = add(1,2) /nShowMessage(value)”);
// 执行脚本,显示计算结果3
//C#中调用 LUA的函数
LuaFunction add=(LuaFunction)lua.GetFunction("add");
if(add != null) //由于从脚本中获取函数,有可能获取不到,所以这里要做容错
obj = add.Call(new object[] {2,3});
//这个时候 obj[0] 就等于5,obj[1] 就等于6 函数返回多个值
Double val=lua.GetNumber("value"); //获取脚本中的变量值
}
finally
{
ShowMessage("执行完成");
}
}
}
}
相关文章推荐
- sublimeText 使用技巧及配置Lua开发环境
- 生产环境中 Ngx_lua 使用技巧和应用的范例 推荐
- 生产环境中 Ngx_lua 使用技巧和应用的范例 - 推酷
- vs2012 使用luainterface
- 快速掌握Lua 5.3 —— 编写提供给Lua使用的C库函数的技巧 (1)
- sublimeText 使用技巧及配置Lua开发环境
- 【cocos2dx开发技巧6】脚本lua的使用--开发环境的配置
- Lua中迭代器的使用技巧
- 如何使用Lua逻辑运算符的技巧
- C#中使用LuaInterface
- Lua的迭代器使用中应该避免的问题和技巧
- golang系列----接口使用技巧(interface)
- 【cocos2dx开发技巧7】脚本lua的使用--集成cocosbuilder
- 快速掌握Lua 5.3 —— 编写提供给Lua使用的C库函数的技巧 (2)
- 【cocos2dx开发技巧5】脚本lua的使用--代码集锦
- (转)sublimeText 使用技巧及配置Lua开发环境
- Lua Interface基础使用
- 【cocos2dx开发技巧7】脚本lua的使用--集成cocosbuilder
- 轻量级Lua IDE ZeroBrane Studio 的使用技巧和汉化
- 生产环境中 Ngx_lua 使用技巧和应用的范例