PS:参考自《lua游戏开发指南》
事件驱动的程序可以增强系统的可扩展性——lua游戏开发指南原话
书中的事件驱动程序主要分为几个重要的部分,是lua与c/++的双向交互。
1、提供一个luaGlue函数在lua中注册事件处理函数。
2、c/c++代码获取事件处理函数名称,在c/c++中调用lua编写的事件处理函数。
3、必须保证lua与c/c++中事件id的一致。
lua代码:
EVENT_SAMPLE = 1000
RegisterEvent("EventHandler")
function EventHandler( id, ...)
myFile = io.open( "io.lua", "w" )
myFile:write("ddddd")
if id == EVENT_SAMPLE then
myFile:write( "sample event!!! ")
end
io.close(myFile)
end
c++代码:
//基于事件消息驱动的lua-c/c++交互模型
/*--
----lua利用luaGlue函数注册事件
----c/c++调用lua函数执行事件
--*/
#include <iostream>
#include <string>
extern "C"
{
#includ