Cocos2d-x Lua 回调函数cc.CallFunc类,内部调用其他类函数报空

来源:互联网 发布:windows密码破解工具 编辑:程序博客网 时间:2024/06/05 02:02

版本:cocos2d-x 3.11 语言:Lua

 

今天逛了一遍论坛,看到一些独立游戏制作者制作的游戏,感觉好羡慕。自己也有种想要制作一个的冲动,不过不是那种益智类的小游戏,而是世界观庞大的高自由度RPG。但对于我现在来说是没办法的吧。

 

闲话不多说进入正题。首先先看代码:


 

在执行跳转界面的函数中,首先然玩家的信息栏往上移动,移动完毕后调用回调函数。

 

就在调用回调函数CallFunc的时候报了一个很奇怪的错误:

 

说是我的cclog用法错误了,用print打印了一下内容后发现内容是nil,而我所需要的是一个int型的数值,也就是说函数报空了。

 

往上去查初始化,打印,没有任何问题,最后想到了一个原因就是自己没有把调用函数的对象传进去。我在C++中反正都是这么创建的:

auto callFunc = CallFunc::create([&](){ });

 

内容反正都是自动捕获的,什么都不用管,但是在Lua中就用不了这样的方法吧。查了一些资料,都是基础的使用,后来是看了项目中以前代码的使用才解决这个问题的:

 

使用handler传入本身就OK了。

 

总结:

创建CallFunc的时候,使用handler传入自身,不然会报空

0 0
原创粉丝点击