2

cocos2dx でアプリケーションを実装しました。

私が現在直面している問題は、getChildren() メソッドが CCObjects のリストを返すため、子がスプライトかレイヤーかを見つけることができないことです。

どんな助けでも感謝します。

4

2 に答える 2

6

子供がいる場合は、それがスプライトかレイヤーかを確認するために型キャストを行う必要があります。

for(int i = 0; i < myNode->getChildren()->count(); i++)
{
    CCNode *child = myNode->getChildren()->objectAtIndex(i);
    CCSprite* s = dynamic_cast<CCSprite*>(child);
    if(s != 0) {
        ...
    }
}
于 2013-03-14T13:50:26.770 に答える
1

これは別のサンプルです。

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
    }
}
于 2015-11-23T10:15:56.607 に答える