日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
LUA基本應(yīng)用

游戲中的界面都是用LUA來寫,這個和WOW是一模一樣的,嗯,以后再慢慢研究.年終了,保存下先.

lua語言規(guī)則:

 
 
 
  1. lua_State *L = lua_open(); //建立一個LUA狀態(tài)機(jī)   
  2. luaopen_base(L); // 啟動它   
  3. const char *buf = "print('hello, world!')";   
  4. lua_dostring(buf); //把buf寫入到lua中并執(zhí)行   
  5. lua_close(L); // 關(guān)閉L   
  6. lua_pushstring(L, "var"); //將變量的名字放入棧]   
  7. lua_getglobal(L, "var"); //變量的值現(xiàn)在棧頂   
  8. int var = lua_tonumber(L, -1); //取得棧頂?shù)脑?nbsp;  
  9. lua_tostring( ls, -1 ); //取得棧頂?shù)牡脑? 一般用于參數(shù)傳遞   
  10. lua_pushstring( ls, s_szPlayer ); //把某個字符串元素壓入棧中,可用于參數(shù)傳出   
  11. lua_pushnumber(L, 200); //把某個數(shù)字元素壓入棧中,   
  12. lua_register(L, "foo", foo); 
  13.  //把自己在C++中編寫的函數(shù)foo拿到lua中注冊,這樣在lua腳本中就可以調(diào)用這個函數(shù) 

 在Lua中,函數(shù)等同于變量,所以你可以這樣來取得這個函數(shù):

 
 
 
  1. lua_getglobal(L, "main");//函數(shù)現(xiàn)在棧頂 

現(xiàn)在,我們可以調(diào)用這個函數(shù),并傳遞給它正確的參數(shù):

 
 
 
  1. lua_pushnumber(L, 100); //將參數(shù)壓棧   
  2. lua_pcall(L, 1, 1, 0); //調(diào)用函數(shù),有一個參數(shù),一個返回值   //返回值現(xiàn)在棧頂   
  3. int result = lua_tonumber(L, -1); 

例子:

 
 
 
  1. #include "lua.h" 
  2.  #include "lauxlib.h" 
  3.  #include "lualib.h" 
  4.  int foo(lua_State *L) 
  5.  { 
  6.  //首先取出腳本執(zhí)行這個函數(shù)時壓入棧的參數(shù) 
  7.  //假設(shè)這個函數(shù)提供一個參數(shù),有兩個返回值 
  8.  //get the first parameter 
  9.  
  10.  const char *par = lua_tostring(L, -1); 
  11.  printf("%s\n", par); 
  12.  //push the first result 
  13.  
  14.  lua_pushnumber(L, 100); 
  15.  //push the second result 
  16.  
  17.  lua_pushnumber(L, 200); 
  18.  //return 2 result 
  19.  
  20.  return 2; 
  21.  } 
  22.  int main(int argc, char *argv[]){ 
  23.  lua_State *L = lua_open(); 
  24.  luaopen_base(L); 
  25.  luaopen_io(L); 
  26.  lua_register(L, "foo", foo); 
  27.  const char *buf = "r1, r2 = foo("hello") print(r1..r2)"; 
  28.  lua_dostring(L, buf); 
  29.  lua_close(L); 
  30.  return 0; 
  31.  } 

分享標(biāo)題:LUA基本應(yīng)用
當(dāng)前地址:http://www.dlmjj.cn/article/dpophgg.html