void XXX::update(float dt)
{
CCRect m_screenRec = CCRectMake(0, 0, winSize.width, winSize.height + 10);
CCObject *pPB = NULL;
CCARRAY_FOREACH(play_bullet, pPB){
if(NULL == pPB) continue;
UnitSprite *pb = dynamic_cast<UnitSprite*>(pPB);
if(pb && pb->isActive())
if(!m_screenRec.intersectsRect(pb->boundingBox()))
pb->destroy();
}
}
intersectsRect判断两个矩形是否有交集。
本文介绍了一种在游戏中实现碰撞检测的方法,通过使用CCRect来判断屏幕内的子弹是否超出可视范围,进而决定是否销毁该子弹对象。这种方法可以有效提高游戏性能。

被折叠的 条评论
为什么被折叠?



