亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

Lua腳本調用外部腳本

2024-07-21 23:04:05
字體:
來源:轉載
供稿:網友

test.lua腳本定義main函數如下:

function main(szName, num1, num2)     print("main()", szName, num1, num2);   local nRandMax = 10000;    local nRand = math.random(nRandMax);   print("nRand =", nRand)   return 1; end

現在我想在test.lua腳本中調用另外一個test1.lua腳本文件中的GetRandMax(),通常的做法是這樣的:

function main(szName, num1, num2)     print("main()", szName, num1, num2);   dofile("test1.lua")   --加載并編譯運行腳本   local nRandMax = GetRandMax();    local nRand = math.random(nRandMax);   print("nRand =", nRand)   return 1; end

看上去是這樣的,非常簡單,通過dofile對test1.lua文件進行加載并編譯運行,這部操作會將test1.lua文件中的函數和變量壓入全局的虛擬棧中,這樣就可以實現對GetRandMax()調用。但是這里有個問題:dofile函數接受的是需要引用的外部腳本的路徑,如果多次調用會不勝其煩,而且效率不高。可能有人誰說,那我們直接把dofile作為全局函數執行,就像這樣:

dofile("test1.lua") dofile("test2.lua") dofile("test3.lua")  function main(szName, num1, num2)     print("main()", szName, num1, num2);   local nRandMax = GetRandMax();  --調用test1.lua中的函數   local nRand = math.random(nRandMax);   print("nRand =", nRand)   return 1; end

這樣做是可以的,但是仍然有些問題:

    1,如果test.lua文件dofile(test1.lua),而test1.lua文件dofile(test.lua),怎么辦!出現循環應用,執行后堆棧溢出;

 

復制代碼 代碼如下:

test.lua:5: too many C levels (limit is 200) in function at line 5 near '"main()"'

    2,dofile的路徑問題,每次都要傳入文件的絕對路徑,如果路徑不正確,無法正常執行,這也是個很煩的事。

 

 

復制代碼 代碼如下:

cannot open /script/test.lua: No such file or directory

那怎樣做才更好呢?既然dofile有這些的問題,我們就把這些問題解決。在C/C++中實現Include腳本接口函數,在腳本中作為全局函數調用,實現外部腳本文件包含功能。

 

//腳本接口 TLua_Funcs g_GameFunc[] = {   { "Include",        LuaInclude },   { "ReloadAllScript",    LuaReloadAllScript},   { "SayHello",       LuaSayHello },   { "StopGame",       LuaStopGame }, };

在Include函數中使用set集合避免重復包含的問題,獲取當前的執行路徑拼接成絕對路徑,這樣就省了不少事;)

Include("//script//test1.lua") --Include腳本接口  function main(szName, num1, num2)     print("main()", szName, num1, num2);   local nRandMax = GetRandMax();  --調用test1.lua中的函數   local nRand = math.random(nRandMax);   print("nRand =", nRand)   return 1; end

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线播放日韩av| 91chinesevideo永久地址| 国产一区二区三区视频| 一区二区欧美亚洲| 欧美精品在线播放| 国产精品中文久久久久久久| 上原亚衣av一区二区三区| 亚洲欧美日韩国产中文专区| 亚洲人成电影网站色xx| 国模吧一区二区三区| 亚洲xxxxx性| 亚洲欧美一区二区精品久久久| 久久夜精品香蕉| 国产在线视频91| 亚洲第一区第二区| 狠狠干狠狠久久| 2020久久国产精品| 欧美极度另类性三渗透| 成人亚洲欧美一区二区三区| 在线视频日韩精品| 久久99视频免费| 国产97在线|亚洲| 中文字幕亚洲精品| 亚洲黄在线观看| 亚洲人成在线免费观看| 91视频8mav| 国产成人aa精品一区在线播放| 亚洲欧洲激情在线| 欧美精品激情在线观看| 欧美丰满少妇xxxx| 精品久久久久久亚洲精品| 成人国产精品久久久久久亚洲| 97在线免费视频| 亚洲欧美国产精品久久久久久久| 成人激情综合网| 欧美日韩国产丝袜另类| 91免费看视频.| 日韩精品视频免费专区在线播放| 欧美日韩精品在线播放| 中文字幕欧美日韩精品| 国产99视频在线观看| 在线观看亚洲视频| 日韩69视频在线观看| 色吧影院999| 91精品啪aⅴ在线观看国产| 国产一区二区在线免费视频| 日本午夜人人精品| 国产做受69高潮| 久久伊人91精品综合网站| 在线a欧美视频| 欧美性色视频在线| 欧美午夜影院在线视频| 欧美黄色三级网站| 国产精品久久精品| 日韩在线观看视频免费| 岛国av一区二区在线在线观看| 久久精品视频中文字幕| 亚洲bt天天射| 亚洲精品自产拍| 日韩免费中文字幕| 亚洲国产另类久久精品| 国产999视频| 国产一区二区三区在线播放免费观看| 久久精品国产96久久久香蕉| 日韩高清电影免费观看完整版| 日韩电影免费在线观看| 国产精品丝袜高跟| 欧美大片在线看免费观看| 欧美成人免费视频| 97在线免费观看视频| 欧美成人午夜影院| 伊是香蕉大人久久| 亚洲精品自拍视频| 亚洲人成网站在线播| 国产亚洲精品久久| 欧美黑人xxx| 久久精品99久久香蕉国产色戒| 奇米成人av国产一区二区三区| 欧美精品久久一区二区| 7777精品久久久久久| 亚洲综合小说区| 欧美高清视频在线播放| 亚洲丝袜av一区| 国产精品美女网站| 欧美体内谢she精2性欧美| 欧美性生交大片免费| 亚洲色图第一页| 97热精品视频官网| 欧美精品在线免费播放| 国产精品一区二区久久国产| 亚洲福利视频在线| 欧美综合国产精品久久丁香| 欧美日韩国内自拍| 亚洲男人的天堂在线播放| 成人亚洲欧美一区二区三区| 91人人爽人人爽人人精88v| 国产欧美精品日韩精品| 国产精品揄拍500视频| 色av吧综合网| 91网在线免费观看| 久久久精品网站| 精品一区二区三区电影| 狠狠色狠色综合曰曰| 国产精品久久久久久久一区探花| 成人黄色网免费| 色播久久人人爽人人爽人人片视av| 国产欧美一区二区三区在线看| 日本国产精品视频| 国产精品久久在线观看| 亚洲精品一区中文| 日韩av在线一区| 久久精品视频免费播放| 日韩欧亚中文在线| 久久全球大尺度高清视频| 欧美电影免费观看高清| 日韩av免费在线播放| 亚洲丝袜在线视频| 国产欧美精品xxxx另类| 久久99亚洲精品| 成人在线播放av| 成人黄色短视频在线观看| 欧美一乱一性一交一视频| 久久伊人精品一区二区三区| 国产精品日韩在线观看| 26uuu日韩精品一区二区| 国产玖玖精品视频| 久久国产精品免费视频| 欧美乱妇高清无乱码| 精品国产91乱高清在线观看| 亚洲大胆人体在线| 色午夜这里只有精品| 欧美大片欧美激情性色a∨久久| 这里只有精品视频| 国产精品国产三级国产aⅴ浪潮| 成人激情在线观看| 国产精品精品视频一区二区三区| 日韩精品视频免费| 91av视频在线免费观看| 国产区精品视频| 欧美激情性做爰免费视频| 日韩精品欧美国产精品忘忧草| 欧美黑人性视频| 91社影院在线观看| 亚洲第一网站免费视频| 亚洲专区中文字幕| 日韩在线视频观看正片免费网站| 欧美在线视频播放| 国产成人精品在线| 97在线视频免费看| 成人免费网站在线看| 欧美成人免费播放| 亚洲福利视频久久| 国产日韩欧美另类| 国产免费观看久久黄| 91精品久久久久久久久久久| 国产日韩视频在线观看| 2019中文字幕全在线观看| 亚洲天堂第一页| 国产精品第一区| 亚洲伦理中文字幕| 国产一区二区三区在线免费观看| 亚洲美女av网站| 国产精品大陆在线观看| 成人久久一区二区三区|