2.2.2的widget没有把addNode接口bind给lua

2.2.2没有addnode接口给lua,如果用addchild会报错。那现在如果想在widget上面加一个ccnode要怎么做?

新的直接addchild就可以了

不行,会报错,“Widget only supports Widgets as children”。譬如我在一个panel上面用addchild加一个sprite,就报这个错误。

好吧···确实是:12:

其实自己解决也就两句代码的事,但是这种低级的错误实在不应该。

弱弱的问一句,UIWidget的addChild和addNode有什么区别啊?

两个加的元素不同,非别是uiwidget,ccnode

Widget一个数组,非Widget一个数组

CCNodeRGBA::addChild(child, zOrder, tag);
addChild和addNode都有上面这个,可是addChild没有下面这个,我就看出这个区别
_nodes->addObject(node);

你的意思是对于继承UIWidget的就使用addChild添加到该父节点
继承CCNode的就使用addNode添加到该父节点?

请问一下是如何解决这个问题的???

这个问题要如何解决呢??

在c++层addchild的时候判断一下,如果是node就转到addNode

重新用tolua导出就可以了。
在cocos2d-x-2.2.2/tools/tolua++/UIWidget.pkg里加入virtual void addNode(CCNode* node);然后运行build_studio.bat
完了需要重新rebuild一次liblua工程。
参考http://www.cocoachina.com/bbs/read.php?tid=179220