【发布时间】:2017-03-14 19:47:39
【问题描述】:
我正在编写一个带有简单碰撞检测系统的简单游戏。
我目前有这段代码用于在同一个数组上迭代数组,因此我可以检查对象是否彼此靠近以及它们是否会发生碰撞:
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 具有相同的值。
我尝试使用一个数组来保存哪些对象与哪些对象一起检查,但它给了我一个很大的 fps 下降。
最好的方法是什么?
【问题讨论】:
-
objects数组的内容是什么? -
它只是一个数组,其中包含具有 x 位置、y 位置、半径以及 x 和 y 向量的圆。
标签: javascript arrays loops iteration game-engine