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 <io

本文介绍了基于事件驱动的lua与c/c++交互,重点是lua游戏开发中的双向交互实现。内容包括luaGlue函数注册事件处理、c/c++调用lua事件函数以及确保事件ID一致性。同时,作者分享了学习进度和感想,表示时间紧迫,需要加快对lua和OpenGL等技术的学习。
最低0.47元/天 解锁文章
3271

被折叠的 条评论
为什么被折叠?



