【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

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...