以下是在cocos2dx-3.10 lua中
1.概述
以下主要用于lua中执行了c++函数,在c++函数执行完成后,调用Lua的回调函数。
注意:若c++中使用了多线程,这里的这种调用Lua的方法会有一定几率导致程序崩溃,因为Lua不支持多线程,
替代的方法是在Lua的update函数中每隔一定时间就调用c++函数获得相关数据。
2.实例
frameworks
--runtime-src
--Classes
--test.cpp
--RegisterToLua.cpp
src--
--main.lua
--app
--views
--CallbackTable.lua
--hello.lua
(1)创建保存回调函数的全局表
CallbackTable.lua———
CallbackTable = {}
--以Lua函数名字作为key的表,此表的obj元素是一个保存当前脚本this对象、以及最后执行的处理函数的表
CallbackTable.keys = {}
--添加监听
--obj 保存当前脚本this对象
--fun 最后执行的处理函数
--key 在c++中调用的Lua函数
function CallbackTable:listen(obj,fun,key)
i
1.概述
以下主要用于lua中执行了c++函数,在c++函数执行完成后,调用Lua的回调函数。
注意:若c++中使用了多线程,这里的这种调用Lua的方法会有一定几率导致程序崩溃,因为Lua不支持多线程,
替代的方法是在Lua的update函数中每隔一定时间就调用c++函数获得相关数据。
2.实例
frameworks
--runtime-src
--Classes
--test.cpp
--RegisterToLua.cpp
src--
--main.lua
--app
--views
--CallbackTable.lua
--hello.lua
(1)创建保存回调函数的全局表
CallbackTable.lua———
CallbackTable = {}
--以Lua函数名字作为key的表,此表的obj元素是一个保存当前脚本this对象、以及最后执行的处理函数的表
CallbackTable.keys = {}
--添加监听
--obj 保存当前脚本this对象
--fun 最后执行的处理函数
--key 在c++中调用的Lua函数
function CallbackTable:listen(obj,fun,key)
i