電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
利用lua執行實質函數

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念
上一篇主題 :: 下一篇主題  
發表人 內容
mirror
散播福音的祭司


註冊時間: 2007-07-27
文章: 174

828.60 果凍幣

發表發表於: 2009-7-2, PM 11:52 星期四    文章主題: 利用lua執行實質函數 引言回覆

代碼:

#include <iostream>

extern "C"
{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}

#pragma comment(lib,"lualib.lib")

using namespace std;


int  testCF(lua_State *L)
{
   // 取得第一個參數
   char *s = (char*)luaL_checkstring(L,1);

   // 取得第二、三個參數
   int i = luaL_checknumber(L,2);
   int j = luaL_checknumber(L,3);


   cout << s << i+j << endl;
   return 0;
};

void main()
{
   // 創建一個指向 Lua 解釋器的指針
   lua_State *L = lua_open();
   
   //函數加載 Lua 庫
   luaL_openlibs(L);

   lua_pushstring(L,"testCF");

   // 加載一個函數 testCF 到腳本
   lua_pushcfunction(L,(lua_CFunction)testCF);
   lua_settable(L, LUA_GLOBALSINDEX);
 
   // 這裡用 dostring 執行腳本
   luaL_dostring(L,"testCF('Name:',1,2) testCF('Game:',2,3)");
   



   // 關閉釋放資源
   lua_close(L);

    //getchar();

   system("PAUSE");
};


輸出結果
代碼:

Name:3
Game:5
請按任意鍵繼續 . . .
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作