您的位置:首页 > 移动开发 > Cocos引擎

quick-cocos2d-x 绑定C++自定义类

2015-01-22 22:15 169 查看
初次接触lua和quick-cocos2d-x,想要用用cocosWidget,然后就碰到C++到lua的绑定问题了。

看了下网上的教程,http://cn.cocos2d-x.org/tutorial/show?id=513

由于时间紧迫,没去看官方的文档和基本原理,就按上面的流程走。

说说流程和问题。

进入路径:quick\lib\extra\luabinding,找到cocos2dx_extra_luabinding.tolua,里面都有extra的一些c++类,

只要参考那些类来写就没问题。

结果好像没问题,在代码里敲入,cc.MySprite:createMS("xxx.png"),然后addChild

问题就来了,addChild老是报错,参数不对。输出创建的类MySprite,是userdata。

这问题纠结了好久,终于发现cocos2dx_extra_luabinding.tolua里面的HttpRequest类继承的写法是:cc.Ref!

OK,我也把我的自定义类继承写法从:cocos2d::Sprite改成:cc.Sprite

重新编译,跑起来,终于没问题,模拟器上能正常显示被加上的图片。

其实只是高兴了一下,问题又来了!

自定义的C++类创建并加入layer里面后,虽然能看到它了,但即刻跟着报了一个中断错误:Assert: Node still
marked as running on node destruction! Was base class onExit() called in derived

网上的做法是去掉onExit(),这里不多说了,还是花点时间去研究cocos2d-x lua 的绑定吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lua c++ cocos2d-x