我有一个玩家精灵,我可以使用加速度计在屏幕上移动。现在我想检查它是否与我创建的任何很多随机掉落的对象发生碰撞。我知道CGRectIntersectsRect
函数,但我不想知道另一个对象的名字。是否有像Java一样的getElementAt函数,我可以继续检查任何对象是否与我的播放器重叠?
提前致谢!
答案 0 :(得分:1)
我所知道的唯一与getElementAt
相当的cocos2d是getChildByTag:
。或者,您可以使用以下方法遍历图层的每个子项:
for (CCNode *child in [self children]) {
if (CGRectIntersects(child.boundingBox, player.boundingBox) {
// perform collision stuff
}
}
同样重要的是要记住,这是非常低效的,尤其是许多对象。您可以考虑使用物理引擎为您执行有效的碰撞检测。