簡體   English   中英

從C ++調用Lua函數

[英]Calling Lua Functions From C++

我正在使用最新版本的LuaJit,並且需要一些入門幫助。 我需要的是讓一堆函數暴露在Lua環境中,這些函數可以在腳本中覆蓋以運行用戶提供的代碼,然后在C ++中的set事件期間調用這些函數。

例如,當用戶按下TAB鍵時,它將從lua環境中調用一個函數,例如OnScoreboardOpen();當用戶釋放TAB鍵時,它將調用相應的函數OnScoreboardClose(),這些函數可以附加到元方法上例如Game或GM。

有人可以指出一些教程或示例代碼來說明如何實現此目標嗎? 非常感謝您的寶貴時間。

基本上,您使用以下兩個函數:lua_pushXXX和lua_pcall

取決於您如何命名LUA函數,它可以是普通函數或對象方法。

function OnScoreboardOpen()
end

要么

function Game:OnScoreboardOpen()
end

使用普通函數相對簡單,只需執行以下操作:

// TODO: sanity check
lua_getglobal(L, name);
lua_pushnumber(L,123);
lua_pcall(...);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM