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

来源:互联网 发布:做淘宝客要钱吗 编辑:程序博客网 时间:2024/06/18 05:57

前几篇向童鞋们介绍了如何利用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:
 
          classMyLayer : public::CCLayer{
 
              .......
 
         };

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

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

 

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

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

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

0 0