【COCOS2DX-LUA 脚本开发之七】解决( error in function ‘addChild’. argument #2 is ‘xx’; ‘CCNode’ expected. )异常报错

前端之家收集整理的这篇文章主要介绍了【COCOS2DX-LUA 脚本开发之七】解决( error in function ‘addChild’. argument #2 is ‘xx’; ‘CCNode’ expected. )异常报错前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前几篇向童鞋们介绍了如何利用tolua++工具制作自己的pkg,也就是自定义类,那么其中有的童鞋遇到Lua如下错误信息:

1
2
LUA ERROR: ... - BE0C - 394432DDBA2B / xx.app / menuGameUI.lua: 470 : error in function 'addChild' .
argument #2 is 'xxClass'; 'CCNode' expected.

此问题主要由于 pkg 书写格式出现的问题,例如当你有一个自定义的Layer,假设MyLayer:

1
2
3
4
5
6
7
MyLayer.pkg:
class MyLayer : public ::CCLayer{
.......
};

以上代码错误形式,在pkg中应该如下方式书写:

1
2
3
4
5
class MyLayer : public CCLayer{
.......
};

代码简单很容易看出来区别,是的在pkg文件中继承时请将“双冒号”去掉!

至于前端你是否使用public::CCLayer 都是无所谓的,没有任何区别,没有错的。

具体原因不多说,请童鞋们自行看文档:http://www.codenix.com/~tolua/tolua++.html#classes

猜你在找的Cocos2d-x相关文章