我在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
}
}