Cocos2dx -如何发现孩子是精灵还是图层



我在cocos2dx中实现了一个应用程序。

我目前面临的问题是,我无法找到孩子是一个精灵还是一个图层作为getChildren()方法返回CCObjects列表。

感谢您的帮助。

当你有一个孩子,你需要做一个类型转换,以检查它是一个精灵还是一个图层:

for(int i = 0; i < myNode->getChildren()->count(); i++)
{
    CCNode *child = myNode->getChildren()->objectAtIndex(i);
    CCSprite* s = dynamic_cast<CCSprite*>(child);
    if(s != 0) {
        ...
    }
}

这是另一个可能有帮助的示例:

Vector<Node*> allNodes=this->getChildren();
for(auto&  node : allNodes){
    if(dynamic_cast<Sprite*>(node)){ //It is Sprite 
        Sprite *target=dynamic_cast<Sprite*>(node);
        //Do whatever you like
    }
}

最新更新