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 に答える