我正在编写一个简单的游戏,并使用简单的碰撞检测系统。
我目前有这段代码来迭代同一数组,以便我可以检查对象是否彼此靠近并且是否会发生碰撞:
var objects = []; //assume this is not empty
for(i=0;i<objects.length;i++){
for(a=0;a<objects.length;a++){
if(a != i){
//collision handling
}
}
}
但是这段代码的主要问题是我有重复项。例如,我检查了 i 和 a ,但在稍后的某个地方,我使用相同的值检查了 a 和 i。
我尝试使用一个保存哪些对象与哪些对象进行了检查的数组,但这会导致我的帧率大幅下降。
什么是最好的方法来解决这个问题?