1
我已经在cocos2dx中实现了一个应用程序。Cocos2dx - 如何查找孩子是精灵还是层?
我目前面临的问题是,由于getChildren()方法返回CCObjects列表,我无法找到子元素是精灵还是图层。
任何帮助表示赞赏。
我已经在cocos2dx中实现了一个应用程序。Cocos2dx - 如何查找孩子是精灵还是层?
我目前面临的问题是,由于getChildren()方法返回CCObjects列表,我无法找到子元素是精灵还是图层。
任何帮助表示赞赏。
当你有了孩子,你需要为了做一个typecast来检查它是否是一个精灵或层:
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
}
}