読者です 読者をやめる 読者になる 読者になる

49hack

見習いエンジニアが魔法使いになるまで

cocos2d-xで[node isKindOfClass:[CCSprite class]]みたいにクラスを判定する方法

cocos2d-x

例えば、HogeLayerの子供の中でCCSpriteにだけ処理をしたい場合は以下のように実装します。

CCArray* children = HogeLayer->getChildren();
for (int i=0; i<children->count(); i++) {
    if (dynamic_cast<CCSprite*>(children->objectAtIndex(i))) {
        // 処理
    }
}

ただし、高価な方法らしいので処理したいオブジェクトにTagつけてgetChildByTagしたほうがいいかも。

参考