cocos-2d与直接和下降物体的碰撞检测

时间:2013-04-27 06:21:56

标签: iphone cocos2d-iphone collision-detection

我有一个玩家精灵,我可以使用加速度计在屏幕上移动。现在我想检查它是否与我创建的任何很多随机掉落的对象发生碰撞。我知道CGRectIntersectsRect函数,但我不想知道另一个对象的名字。是否有像Java一样的getElementAt函数,我可以继续检查任何对象是否与我的播放器重叠?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我所知道的唯一与getElementAt相当的cocos2d是getChildByTag:。或者,您可以使用以下方法遍历图层的每个子项:

for (CCNode *child in [self children]) {
    if (CGRectIntersects(child.boundingBox, player.boundingBox) {
        // perform collision stuff    
    }
}

同样重要的是要记住,这是非常低效的,尤其是许多对象。您可以考虑使用物理引擎为您执行有效的碰撞检测。