Cocos2d-x里C++调用Lua

本文详细介绍了如何在Lua中注册回调函数,通过注册cc.Handler.CALLFUNC类型的事件,实现从C++向Lua传递数据并调用指定的Lua函数。文章提供了具体的代码示例,包括C++端发送事件和Lua端响应事件的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Lua文件里注册函数,其实就是注册一个cc.Handler.CALLFUNC类型的事件,收到事件后执行reiceLogCallBack函数,data是传给reiceLogCallBack函数的数据:

ScriptHandlerMgr:getInstance():registerScriptHandler(tolua.cast(data, "cc.Ref"),reiceLogCallBack, cc.Handler.CALLFUNC)

//lua函数

function reiceLogCallBack(data)
      print("收到登陆返回结果")
end

data是C++传回的数据,必须是cc.Ref类型的

//C++处理 发送一个事件,Lua中注册(监听)

UserData ud("minyou",111111)
BasicScriptData data((void*)this,&ud)  
ScriptEvent  eve(ScriptEventType::kCallFuncEvent, &data);  
ScriptEngineManager::getInstance()->getScriptEngine()->sendEvent(&eve);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西溪漫步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值