zoukankan      html  css  js  c++  java
  • lua-1-c# 执行lua文件-调用lua文件中的方法

    using UnityEngine;
    using System.Collections;
    using LuaInterface;//引入lua接口

    public class MyHellowWorld : MonoBehaviour {

        //创建lua对象
        LuaState lua;
        //string str = "print('Hello Lanou')";     //第一种交互方式  直接写死
        public TextAsset luastr;    //luatxt文件  


        // void Start()
        // {
        //lua = new LuaState();    //实例化lua对象
        //lua.Start();//开启lua
        //lua.DoString(luastr.text);//读取luastr中的内容        
        //lua.CheckTop();//检查是否有代码未执行
        //lua.Dispose();//释放lua


        // }

        string url = "http://172.18.21.180/1.lua";//从服务器获取lua代码文件

        void Start()
        {
            StartCoroutine("LoadLuaScripts");

        }
        //携程
        IEnumerator LoadLuaScripts()
        {
            WWW www = new WWW(url);//加载给定地址的文件内容
            yield return www;//等待加载完毕
            string LuaContent = www.text;//加载的内容放入字符串中
            lua = new LuaState();
            lua.Start();
            //执行一段lua代码
            lua.DoString(LuaContent);
            //获取lua方法
            LuaFunction func = lua.GetFunction("perfect");
            //调用有参数的lua方法   这个方法还有返回值(可以返回多个)
           // func.Call("霍建华和哈哈哈哈哈哈");
           //下面四句相当于上面一句
            func.BeginPCall();
            func.Push("ms");
            func.PCall();
            func.EndPCall();

            //检查是否有代码未执行
            lua.CheckTop();
            //释放lua对象
            lua.Dispose();
        }
        // Update is called once per frame
        void Update()
        {

        }
    }

  • 相关阅读:
    StarUML3.x的破解方法
    图解git基本使用
    Elasticsearch分页查询From&Size vs scroll vs search_after
    MySQL索引及使用详解
    mysql中key 、primary key 、unique key 与index区别
    MySQL避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)
    git config配置快捷命令
    linux基础命令使用详解
    MySQL索引详解——full-text,b-tree,hash,r-tree
    Insert Interval 面试题leetcode.
  • 原文地址:https://www.cnblogs.com/ningyongbin/p/6009158.html
Copyright © 2011-2022 走看看