0

我有一个玩家精灵,我可以使用加速度计在屏幕上四处移动。现在我想检查它是否与我创建的许多随机下落的物体中的任何一个发生碰撞。我知道这个CGRectIntersectsRect函数,但我不想知道另一个对象的名称。是否有某种类似于 Java 的 getElementAt 函数,我可以继续检查是否有任何对象与我的播放器重叠?

提前致谢!

4

1 回答 1

1

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

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

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

于 2013-04-27T14:22:34.337 回答