1
我有一个敌方物体的阵列,我想检查x和y位置是否在彼此的10个像素内,并且它们是否将它们移除。我的方法似乎是删除一切,我不知道什么是错的。从彼此范围内的阵列中移除物体
function checkEnemyPos()
{
for (var i =0; i < enemys.length; i ++)
{
for (var j =0,len = enemys.length; j <len; j ++)
{
var xRange = Math.abs(enemys[j].x - enemys[i].x);
var yRange = Math.abs(enemys[j].y - enemys[i].y);
if (xRange < 10 && yRange < 10)
{
enemys.splice(j, 1);
j--;
len--;
}
}
}
};
请添加一些数据和通缉的结果也是如此。 –
这是因为你的for循环是这样的,你可以比较每个敌人以及所有其他的敌人。 – James
btw,第二个循环的开始检查第一个循环的第一个元素。结果是,你删除**所有**项目。 –