【问题标题】:cocos-2d collision detection with a rect and falling objectscocos-2d 与矩形和坠落物体的碰撞检测
【发布时间】:2013-04-21 08:54:11
【问题描述】:
我有一个玩家精灵,我可以使用加速度计在屏幕上四处移动。现在我想检查它是否与我创建的 许多 随机下落的物体发生碰撞。我知道CGRectIntersectsRect 函数,但我不想知道另一个对象的名称。是否有某种类似于 Java 的 getElementAt 函数,我可以继续检查是否有 any 对象与我的播放器重叠?
提前致谢!
【问题讨论】:
标签:
iphone
cocos2d-iphone
collision-detection
【解决方案1】:
我所知道的唯一与getElementAt 等效的cocos2d 是getChildByTag:。或者,您可以使用以下方法遍历图层的每个子级:
for (CCNode *child in [self children]) {
if (CGRectIntersects(child.boundingBox, player.boundingBox) {
// perform collision stuff
}
}
同样重要的是要记住,这是非常低效的,尤其是对于 许多 对象。您可以考虑使用物理引擎为您执行有效的碰撞检测。