新手请教:如何将一个带子精灵的精灵,转变成精灵数组,数组每个成员都带子精灵?请说下思路和解决方案。

原设计:
一个炸弹精灵,带光环子精灵。爆炸时会产生冲击波。(碰撞检测检测,循环检测冲击波和其他物体是否相交)
希望改造成:
炸弹精灵组(包含10个炸弹),每个炸弹都带光环子精灵,每个炸弹精灵爆炸时都会产生冲击波(碰撞检测检测时,检测冲击波和其他物体是否相交)

问题抽象化:如何将一个带子精灵的精灵,转变成精灵数组,数组每个成员都带子精灵?请说下思路和解决方案。
请问类似问题比较好的实现方法?

原代码:
_bomb = CCSprite::createWithSpriteFrameName("bomb.png");
    _bomb->getTexture()->generateMipmap();
    _bomb->setVisible(false);

    CCSize size = _bomb->boundingBox().size;

    CCSprite *sparkle = CCSprite::createWithSpriteFrameName("sparkle.png");
    sparkle->setPosition(ccp(size.width * 0.72f, size.height * 0.72f));
    _bomb->addChild(sparkle,kMiddleground,kSpriteSparkle);

    halo = CCSprite::createWithSpriteFrameName("halo.png");
    halo->setPosition(ccp(size.width * 0.4f, size.height * 0.4f));
    _bomb->addChild(halo, kMiddleground, kSpriteHalo);
    _gameBatchNode->addChild(_bomb,kForeground);

    _shockWave = CCSprite::createWithSpriteFrameName("shockwave.png");
    _shockWave->getTexture()->generateMipmap();
    _shockWave->setVisible(false);
    _gameBatchNode->addChild(_shockWave);

我的考虑就是用CCArray嵌套实现2维数组。希望有经验的开发者,给出成熟的解决方案。