Lua知识点_高级_c++中调用Lua回调函数

以下是在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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值