有人可以建议一种优化我的碰撞检测的方法吗? 我有两个CCArrays
CCArray allyArray;
CCArray enemyArray;
我想检测两个数组中每个sprite之间的冲突,所以我在更新方法中做了一个嵌套数组
-(void)update:(ccTime)dt
{
CCARRAY_FOREACH(allyArray, allyTeam)
{
CCARRAY_FOREACH(enemyArray, enemyTeam)
{
if (CGRectIntersectsRect(allyTeam.boundingbox, enemyTeam.boundingbox)
{
[enemyTeam runAction: hurtAnimation];
enemyTeam.health -= allyTeam.attackStrength;
if(EnemyTeam.health <= 0)
[enemyTeam runAction: deathAnimation];
enemyTeam.position = enemyTeam.resetPosition;
}
}
}
}
我发现这种方法很快就收回了我的帧速率。如果我在每个阵列中有100个精灵,我的帧速率将下降到30 fps。
所以我的问题是如何更好地检测大量精灵之间的碰撞?如果你能为我提供一些可以帮助优化它的教程的链接,那真的很棒=)
感谢您在这里帮助新手=)))