tolua杂记

1 字符串调用luaFunc :DoString

public class CallLuaFunction : MonoBehaviour
{
    private string script =
        @"  function luaFunc(num)
                return num + 1
            end

            test = {}
            test.luaFunc = luaFunc
        ";

    LuaFunction luaFunc = null;
    LuaState lua = null;
    string tips = null;

    void Start ()
    {
        new LuaResLoader();
        lua = new LuaState();
        lua.Start();
        DelegateFactory.Init();
        lua.DoString(script);

        //Get the function object
        luaFunc = lua.GetFunction("test.luaFunc");

        if (luaFunc != null)
        {
            int num = luaFunc.Invoke<int, int>(123456);
            Debugger.Log("generic call return: {0}", num);

            num = CallFunc();
            Debugger.Log("expansion call return: {0}", num);

            Func<int, int> Func = luaFunc.ToDelegateint, int>>();
            num = Func(123456);
            Debugger.Log("Delegate call return: {0}", num);

            num = lua.Invoke<int, int>("test.luaFunc", 123456, true);
            Debugger.Log("luastate call return: {0}", num);
        }

        lua.CheckTop();
    }
    void OnDestroy()
    {
        if (luaFunc != null)
        {
            luaFunc.Dispose();
            luaFunc = null;
        }
        lua.Dispose();
        lua = null;
    }

    int CallFunc()
    {
        luaFunc.BeginPCall();
        luaFunc.Push(123456);
        luaFunc.PCall();
        int num = (int)luaFunc.CheckNumber();
        luaFunc.EndPCall();
        return num;
    }
}

2 执行lua文件

lua = new LuaState();
        lua.Start();
        //如果移动了ToLua目录,自己手动修复吧,只是例子就不做配置了
        string fullPath = Application.dataPath + "\\LuaFramework/ToLua/Examples/02_ScriptsFromFile";
        lua.AddSearchPath(fullPath);
lua.DoFile("ScriptsFromFile.lua");
//lua.Require("ScriptsFromFile");    Require 只执行一次
lua.Collect();
lua.CheckTop();

3

Original: https://www.cnblogs.com/pengyingh/p/7324874.html
Author: pengyingh
Title: tolua杂记

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/546769/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • mysql(DQL)

    MYSQL(康老师-DQL ) 1:基本的SELECT语句 1.1:基本的SELECT语句的课后练习 2:运算符 2.1:运算符课后练习 3.1排序 3.2分页 4.多表查询 4….

    技术杂谈 2023年7月25日
    056
  • Docker快速部署clickhouse

    Docker快速部署clickhouse Clickhouse特点 完备的DBMS:不仅是个数据库,也是个数据库系统 列存储和数据压缩:典型的olap数据库特性 向量化并行:利用C…

    技术杂谈 2023年6月21日
    096
  • 性能测试案例全过程方案七———购物流程(重要!!!)

    性能测试案例全过程方案七——-混合场景 Ultimate Thread Group梯度线程 梯度加压测试可以使用插件:Ultimate Thread Gro…

    技术杂谈 2023年5月31日
    0100
  • Deepin 15.4 安装 Double Commander

    参照官方教程,安装命令行如下: 对于 xUbuntu 16.04,请运行以下命令: cnblogs_Highlighterbash; sudo sh -c "echo &…

    技术杂谈 2023年5月30日
    087
  • 没有Kubernetes怎么玩Dapr?

    Dapr 被设计成一个面向开发者的企业级微服务编程平台,它独立于具体的技术平台,可以运行在”任何地方”。Dapr本身并不提供”基础设施(infr…

    技术杂谈 2023年5月31日
    093
  • 力扣算法题9. 回文数(Java)

    力扣算法题9. 回文数(Java) 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一…

    技术杂谈 2023年7月25日
    066
  • MySQL — 数据查询语言

    DQL 全称 Data Query Language。数据查询语言,用来查询数据库中表的记录。 语法: select 查询列表(字段、常量、函数、表达式) from 表名; 字段别…

    技术杂谈 2023年7月11日
    061
  • 浅析Promise的设计核心思想及其实现

    前言:这篇文章应该会和你见到的大部分手写Promise文章都不一样,文中不会讲到Promises/A+规范,也不会提到Promise.race / race等语法糖。在本文中,我会…

    技术杂谈 2023年5月31日
    085
  • SpringBoot 项目部署 (配置文件分离)

    SpringBoot 配置文件加载 SpringBoot 加载配置文件的优先级如下: 当前目录下的 config 子目录; 当前目录; classpath下的 config文件夹;…

    技术杂谈 2023年6月21日
    0110
  • Golang仿云盘项目-4账号系统与鉴权(1)-解决:登录404notfound

    4.1 账号系统功能 解决:登录 404 not found本文来自博客园,作者:Arway,转载请注明原文链接:https://www.cnblogs.com/cenjw/p/1…

    技术杂谈 2023年7月24日
    077
  • iaas,saas,paas,daas区别:

    iaas,saas,paas,daas区别: Iaas(Infrastructure as a server):基础设施即服务,是基础层。PaaS(Platform as a Se…

    技术杂谈 2023年5月30日
    0101
  • CentOS7新系统手动配置网络简要步骤

    一、配置网卡文件 1.修改网卡文件进入网卡配置文件目录 2.查看网卡文件 CentOS中网卡文件一般为 ifcfg-ens* 这样的文件,多块网卡会有多个类似文件 3.编辑网卡文件…

    技术杂谈 2023年7月24日
    076
  • 桶排序—明明的随机数

    桶排序 题目地址 数据范围是1到1000的随机数,每个出现的次数小于100次,且重复的数字只保留一个,所以很显然利用桶排序的知识即可轻松ac 桶排序就是开一个比给定数据范围略大的一…

    技术杂谈 2023年6月21日
    086
  • python 结构(序列分解)

    一、结构 结构的主要作用是将一个序列分解成若干个单独的变量。 1、对列表进行分解 2、对元组进行分解 3、对字典进行分解 4、对集合进行分解 5、对字符串进行分解 6、对文件句柄进…

    技术杂谈 2023年7月11日
    076
  • DVWA安装

    参考一下文章: (1条消息) DVWA安装教程(懂你的不懂·详细)_学会了再换名字的博客-CSDN博客_dvwa安装教程 另外对于文中的报红情况,在修改完php。ini文件后还要重…

    技术杂谈 2023年6月21日
    0100
  • 了解HTML/CSS/JS/JQuery/ajax等前端知识

    什么是HTML 超文本标记语言 浏览器通过识别相应的标签来加载页面 通过HTTP协议传输,不是编程语言 HTML常用标签 title script style link meta …

    技术杂谈 2023年7月23日
    079
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球