【发布时间】:2014-07-22 20:33:35
【问题描述】:
我正在研究一个无限跑步者,我需要在单个精灵与精灵 CCArray 中的任何精灵之间进行碰撞检测。你如何建议我这样做?目前这是我用来检查碰撞的方法,但它不起作用。
bool RunningScene::spritesAreColliding(cocos2d::CCSprite *spr1, cocos2d::CCSprite *spr2)
{
//Take the bounding box of the two sprites that are bounded
CCRect r1 = spr1->boundingBox();
CCRect r2 = spr2->boundingBox();
if (r1.intersectsRect(r2)) { //Check if the bounding boxes are intersecting and return a true/false
return true;
} else {
return false;
}
}
我在 if 语句中使用它,如果它返回 true,则 if 语句有效。 我不希望像素完美的碰撞检测,但我想知道该方法是否适用于检查碰撞,并且我想知道如何从 CCArray 访问恰好与 _runner 精灵发生碰撞的任何精灵。
【问题讨论】:
-
它不工作的原因是什么?如果你有
return r1.intersectsRect(r2);,它可能会更有效一些,但这个概念看起来基本上是合理的。
标签: c++ ios cocos2d-x cocos2d-x-2.x