Ulua_toLua_基本案例(三)_CallLuaFunction
来源:互联网 发布:新浪网络写手在哪投稿 编辑:程序博客网 时间:2024/06/02 10:49
在Untiy中用Lua,必须要LuaInterface。LuaInterface的介绍请看:点击打开链接
可以先光写Lua,生成.lua的纯文件。再Unity中通过,luaState.DoFile("main.lua");来运行。也可以直接在C#中写。用Lua.DoString()来转换。大量项目的话,还是分开写好,lua用LuaStudio来开发。
using UnityEngine;using System.Collections;using LuaInterface;using System;public class CallLuaFunction : MonoBehaviour { private string script = @" function luaFunc(num) return num + 1 end test = {} test.luaFunc = luaFunc "; LuaFunction func = null; LuaState lua = null;void Start () { lua = new LuaState(); lua.Start(); lua.DoString(script); //Get the function object func = lua.GetFunction("test.luaFunc"); if (func != null) { //有gc alloc object[] r = func.Call(123456); Debugger.Log(r[0]); // no gc alloc int num = CallFunc(); Debugger.Log(num); } lua.CheckTop();} void OnDestroy() { if (func != null) { func.Dispose(); func = null; } lua.Dispose(); lua = null; } int CallFunc() { func.BeginPCall(); func.Push(123456); func.PCall(); int num = (int)func.CheckNumber(); func.EndPCall(); return (int)num; } //取消注释, 在profiler中查看gc alloc//void Update () //{ //func.Call(123456); //CallFunc(); //}}
0 0
- Ulua_toLua_基本案例(三)_CallLuaFunction
- Ulua_toLua_基本案例(一)
- Ulua_toLua_基本案例(二)_ScriptsFromFile
- Ulua_toLua_基本案例(四)_AccessingLuaVariables
- Ulua_toLua_基本案例(五)_LuaCoroutine
- Ulua_toLua_基本案例(六)_LuaCoroutine2
- Ulua_toLua_基本案例(七)_LuaThread
- Ulua_toLua_基本案例(八)_LuaAccessingArray
- Ulua_toLua_基本案例(九)_LuaDictionary
- 第二节 案例JDBC 基本操作-查(三)
- Linux 防火墙iptables (三)iptables常用基本案例
- css案例(三)
- Flume-应用案例(三)
- hadoop案例分析(三)
- 案例实战Elasticsearch基本操作(一)
- 案例JDBC 基本操作(二)
- vi基本操作(练习题案例)
- 基本标签(三)
- solr windows linux 下环境搭建
- 基于 Apache 在本地配置多个虚拟主机
- 【rabbitmq】解决SimpleAmqpClient创建连接时阻塞的问题
- Ulua_toLua_基本案例(二)_ScriptsFromFile
- widows 下git记住账号密码
- Ulua_toLua_基本案例(三)_CallLuaFunction
- unlocked_ioctl和compat_ioctl
- ViewPager+小圆点进行无限轮播
- 关于ViewPager
- [leetcode Q28] Implement strStr()
- 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
- 千里码【5】访客统计
- 深入理解JVM之垃圾回收详解
- 第一天:代码入门、HTML语法基础及文档类标签