ulua介绍和使用
原创
©著作权归作者所有:来自51CTO博客作者我的流浪国的原创作品,请联系作者获取转载授权,否则将追究法律责任
void Start()
{
LuaState luaState=new LuaState();
luaState.DoString("print(233)");
}
lua代码创建物体
using LuaInterface;
using UnityEngine;
using UnityEngine.Experimental.UIElements;
public class LuaForUnity : MonoBehaviour
{
private string str = @"
luanet.load_assembly('UnityEngine')--加载命名空间
local gameObject=luanet.import_type('UnityEngine.GameObject')--加载命名空间下的类
BoxCollider=luanet.import_type('UnityEngine.BoxCollider')
local player=gameObject('新物体') --实例化
player:AddComponent(luanet.ctype(BoxCollider)) --添加碰撞器
";
void Start()
{
//创建解析器
LuaState luaState=new LuaState();
luaState.DoString(str);
}
}
lua代码创建物体wrap方式
包装新的wrap脚本
WrapFile
private string str1 = @"luanet.load_assembly('UnityEngine')
GameObject=UnityEngine.GameObject
BoxCollider=UnityEngine.BoxCollider
Animator=UnityEngine.Animator
local player=GameObject('新物体') --实例化
player:AddComponent(BoxCollider.GetClassType())
player:AddComponent(Animator.GetClassType())
";
void Start()
{
LuaScriptMgr lua=new LuaScriptMgr();
lua.Start();
lua.DoString(str1);
}