Lua HelloWorld
2016-11-06 11:10
169 查看
1.使用toLua,脚本必须引用 LuaInterface命名空间。
2.初始化一个Lua状态机,代码是LuaState lua = new LuaState(); lua.Start();
3.lua执行一段代码是lua.DoString(hello, "HelloWorld.cs"); 第一个参数是代码字符串,第二个参数是该状态机所在的类。
4.lua的释放 lua.CheckTop(); lua.Dispose(); lua = null; 第一个方法是干嘛的,第二个方法是释放lua,第三个方法是将lua变量变为空。
例子:using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using LuaInterface;
/// <summary>
/// made by zyc
/// </summary>
public class MyHelloWorld : MonoBehaviour {
LuaState lua;
// Use this for initialization
void Start () {
lua = new LuaState();
// lua.Start();
lua.DoString(@"print('Hello toLua')");
lua.Dispose();
lua = null;
}
// Update is called once per frame
void Update () {
}
}
隐藏了lua.Start();方法,发现程序报错了,于是在Lua的构造函数中写入了Start();方法,问题解决。
public LuaState()
{
if (mainState == null)
{
mainState = this;
}
LuaException.Init();
L = LuaNewState();
stateMap.Add(L, this);
OpenToLuaLibs();
ToLua.OpenLibs(L);
OpenBaseLibs();
LuaSetTop(0);
InitLuaPath();
Start();
}
2.初始化一个Lua状态机,代码是LuaState lua = new LuaState(); lua.Start();
3.lua执行一段代码是lua.DoString(hello, "HelloWorld.cs"); 第一个参数是代码字符串,第二个参数是该状态机所在的类。
4.lua的释放 lua.CheckTop(); lua.Dispose(); lua = null; 第一个方法是干嘛的,第二个方法是释放lua,第三个方法是将lua变量变为空。
例子:using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using LuaInterface;
/// <summary>
/// made by zyc
/// </summary>
public class MyHelloWorld : MonoBehaviour {
LuaState lua;
// Use this for initialization
void Start () {
lua = new LuaState();
// lua.Start();
lua.DoString(@"print('Hello toLua')");
lua.Dispose();
lua = null;
}
// Update is called once per frame
void Update () {
}
}
隐藏了lua.Start();方法,发现程序报错了,于是在Lua的构造函数中写入了Start();方法,问题解决。
public LuaState()
{
if (mainState == null)
{
mainState = this;
}
LuaException.Init();
L = LuaNewState();
stateMap.Add(L, this);
OpenToLuaLibs();
ToLua.OpenLibs(L);
OpenBaseLibs();
LuaSetTop(0);
InitLuaPath();
Start();
}
相关文章推荐
- redis-lua(一):Hello,World!
- lua hello world
- lua "Hello, world!"[转]
- 使用vs2005 C语言调用lua脚本实现hello,world
- Hello world with LUA
- Hello world with LUA
- Hello, world!
- 【Windows10 IoT开发系列】“Hello,World!”指导
- C#锐利体验 第一讲 “Hello,World!”程序
- jni_day02之hello_world
- 第二部分:开发简要指南-第一章 Hello,World
- hello,world!
- Flume Hello World!
- String s = new String("hello world")中用到的反射
- Spring4 MVC HelloWorld 注解和JavaConfig实例
- Hibernate HelloWorld(一)
- 入门 打印出“hello, world”
- grpc java helloworld 简单demo实现
- ubuntu下hello world kernel Module:MODPOST 0 modules
- Shiro HelloWorld (二)从数据库中获得数据