将"Cocos2d-x 精灵碰撞检測(方法一)" update函数改动一下。

使用精灵boundingBox函数获取直接精灵边界框, 不用自己计算精灵矩形大小了,还比較精确,然后调用intersectsRect计算2个精灵矩形是否存在交集。

代码:

void HelloWorld::update(float delta)
{
//返回精灵边界框
CCRect cr1 = sp1->boundingBox();
CCRect cr2 = sp2->boundingBox();

if(cr1.intersectsRect(cr2)) //是否存在交集
{
CCLOG("Is Conllision...") ;
}
else
CCLOG("Is't Conllision...") ;
}