[英]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.