|
lua热更新实际上就是将lua语音字符串转为类方法进行调用,也可以理解为反射,将字符串转为类或者方法,然后去调用对应方法。
我们打开ToLua/Examples/01_HelloWorld下的HelloWorld场景,运行一下,可以看到一系列的内容打印。
我看接下来看看并分析下其运行的脚本,打开ToLua/Examples/01_HelloWorld下的HelloWorld类文件。- using UnityEngine;using LuaInterface;using System;publicclassHelloWorld:MonoBehaviour{voidAwake(){//初始化状态LuaState lua =newLuaState();//调用状态开始方法
- lua.Start();//lua语音 打印字符串string hello =@"
- print('hello tolua#')
- ";//执行lua字符串语句
- lua.DoString(hello,"HelloWorld.cs");//检查语句
- lua.CheckTop();//lua资源回收
- lua.Dispose();
- lua =null;}}
复制代码- LuaState lua = new LuaState();
- lua.Start();
复制代码 这两句话打印了如下信息:
Init lua state cost: 0.05276728 ==> 初始化时间
LuaState start ==> 方法内部打印
[tolua.lua:11]:ver20100 jit: true SSE2 SSE3 SSE4.1 BMI2 fold cse dce fwd dse narrow loop abc sink fuse ==> 状态
[tolua.lua:12]:os: Windows, arch: x64 ==> 运行平台- string hello =
- @"
- print('hello tolua#')
- ";
- lua.DoString(hello, "HelloWorld.cs");
复制代码 [HelloWorld.cs:2]:hello tolua# ==> 打印的语句- lua.CheckTop();
- lua.Dispose();
- lua = null;
复制代码 LuaState destroy ==> 资源回收 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|