多个移动中的精灵怎么判断碰撞

一个游戏里的怪物应该会有很多ABCD,不可能每一个都去写一个怪物和主教之间的碰撞判断事件

是不是应该创建随机分布多个透明的矩形

怎样才能让ABCD多个精灵分布在这些透明的矩形上

我曾经在一个CCSprite * a上 addChild 随机分布一组精灵 b

移动 a 的时候,b的图片在动,但是碰撞位置没有变化

求教怎么解决

randomSpriteBatchNode = CCSpriteBatchNode::create(“point2.png”);

/* 在图层中随机添加精灵 */
void IContained::addRandomSprite(int count){
CCSize size = CCDirector::sharedDirector()->getWinSize();
for (int i = 0;i<count;i++)
{
CCSprite *spr = CCSprite::create(“point2.png”);
//在屏幕中随机放置精灵
spr->setPosition(ccp(CCRANDOM_0_1()size.width0.8+size.width/10,CCRANDOM_0_1()size.height0.8+size.height/10));
randomSpriteBatchNode->addChild(spr);
}
}