火暗工作室吧 关注:9贴子:243
  • 2回复贴,共1

有关XLua的用法

只看楼主收藏回复

注册后的变量,方法,LuaTable是不需要重复DoString的,已经存在虚拟机环境里面
在Main.lua.txt里面定义一个名为Main的LuaTable,然后用DoString执行文本内容,就能注册到全局LuaTable。
例如
Main={
a=1;
Test=function()
Main.a=2;
end;
}
而全局变量和方法,只需要直接写到文本内即可注册
例如
DoString(
gameTime=0;
GetGameTime=function()
return gameTime;
end;
)
至于构造LuaTable,需要在全局LuaTable基础上复制一份,然后调用它的方法需要传入luaTable实体,并用luaTable.变量,luaTable.方法去调用构造后的luaTable属性


IP属地:广东1楼2020-09-03 00:45回复
    C#驱动LuaTable方式,一个是直接调用静态LuaTable的方法,一个是创建构造LuaTable后,然后调用luaTable里的方法


    IP属地:广东2楼2020-09-03 17:16
    回复
      静态的内容不需要清理,就开始游戏直到结束游戏释放luaevn就行了,而C#是自动释放的
      luaTable在构造的时候,如果是MonoBehaviour驱动的,在OnDestroy的时候dispose就行了
      构造的luaTable只是作为变量储存,不由MonoBehaviour驱动,那么在移除(在列表中移除)或清空(设置为null)该luaTable的时候,直接释放就行了


      IP属地:广东3楼2020-09-04 01:49
      回复