用lua 管理cocosbuilder,两个相同的ccbfile

来源:互联网 发布:新潮软件 编辑:程序博客网 时间:2024/06/14 12:47

我开发中,遇到了一个问题,我用lua,引入了两个相同的ccbfile。

如下图。



这是两个相同的ccbfile,打log你会发现,根本就无法区分,两个精灵没有分别入栈。


所以要修改引擎。


const char* CCBProxy::getNodeTypeName(CCNode* pNode){    if (NULL == pNode) {        return NULL;    }        if (NULL != dynamic_cast<CCLabelTTF*>(pNode)) {        return "CCLabelTTF";    }    if (NULL != dynamic_cast<CCLabelBMFont*>(pNode)) {        return "CCLabelBMFont";    }    if (NULL != dynamic_cast<CCSprite*>(pNode)) {        return "CCSprite";    }        if (NULL != dynamic_cast<CCControlButton*>(pNode)) {        return "CCControlButton";    }        if (NULL != dynamic_cast<CCLayerGradient*>(pNode)) {        return "CCLayerGradient";    }        if (NULL != dynamic_cast<CCLayerColor*>(pNode)) {        return "CCLayerColor";    }        if (NULL != dynamic_cast<CCScale9Sprite*>(pNode)) {        return "CCLayerGradient";    }        if (NULL != dynamic_cast<CCMenu*>(pNode)) {        return "CCMenu";    }        if (NULL != dynamic_cast<CCMenuItemAtlasFont*>(pNode)) {        return "CCMenuItemAtlasFont";    }        if (NULL != dynamic_cast<CCMenuItemFont*>(pNode)) {        return "CCMenuItemFont";    }        if (NULL != dynamic_cast<CCMenuItemLabel*>(pNode)) {        return "CCMenuItemLabel";    }        if (NULL != dynamic_cast<CCMenuItemImage*>(pNode)) {        return "CCMenuItemImage";    }        if (NULL != dynamic_cast<CCMenuItemToggle*>(pNode)) {        return "CCMenuItemToggle";    }        if (NULL != dynamic_cast<CCMenuItemSprite*>(pNode)) {        return "CCMenuItemSprite";    }    if (NULL != dynamic_cast<CCMenuItem*>(pNode)) {        return "CCMenuItem";    }    if (NULL != dynamic_cast<CCLayer*>(pNode)) {        return "CCLayer";    }    if (NULL != dynamic_cast<CCString*>(pNode)) {        return "CCString";    }        if (NULL != dynamic_cast<CCParticleSystemQuad*>(pNode)) {        return "CCParticleSystemQuad";    }if (NULL != dynamic_cast<CCBFile*>(pNode)) {return "CCBFile";}if (NULL != dynamic_cast<CCNode*>(pNode)) {return "CCNode";}    return "No Support";}

后面加上ccbfile,就可以了,你就会发现入栈了。然后

n_guy1 = tolua.cast(stage7["guy1"],"CCNode")


这样就可以区分了。


他妹的,怎么弄不上图,我不知道怎么弄啊!~~


原创粉丝点击