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

来源:互联网 发布:iptv与网络电视的区别 编辑:程序博客网 时间:2024/06/06 03:24

本站文章均为 李华明Himi 原创,转载务必在明显处注明:(作者新浪微博: @李华明Himi ) 
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/lua1/1306.html
 

          ☞ 点击订阅 ☜
 本博客最新动态!及时将最新博文通知您!


                 

前几篇向童鞋们介绍了如何利用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

 

原创粉丝点击