2.2.2没有addnode接口给lua,如果用addchild会报错。那现在如果想在widget上面加一个ccnode要怎么做?
新的直接addchild就可以了
不行,会报错,“Widget only supports Widgets as children”。譬如我在一个panel上面用addchild加一个sprite,就报这个错误。
好吧···确实是
其实自己解决也就两句代码的事,但是这种低级的错误实在不应该。
弱弱的问一句,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