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

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

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


                 
width="150" height="210" frameborder="0" scrolling="no" src="http://widget.weibo.com/relationship/bulkfollow.php?language=zh_cn&uids=1916000601&wide=1&color=FFFFFF,FFFFFF,0082CB,666666&showtitle=0&showinfo=1&sense=0&verified=1&count=1&refer=http%3A%2F%2Fwww.himigame.com%2Flua1%2F1306.html&dpc=1" style="border-width: 0px; margin: 0px; padding: 0px; font-family: arial, helvetica, clean, sans-serif; font-size: 12px; line-height: 16px; text-align: left; ">

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

 

你可能感兴趣的:(【Cocos2dx,Lua,脚本开发,】)