У меня есть массив bCoord, который содержит изображения x, y position, width и height.Я хочу вставить другой объект в массив, который не покрывает друг друга.Источник ниже работает очень хорошо, если размер объектов массива больше или равен объекту, который я хочу вставить туда, иначе нет.У меня есть решение для этого, но это не очень приятно.Если у кого-нибудь есть хорошее решение по этой проблеме, пожалуйста, поделитесь мной.
this.isCover = function(pixel, width, height)
{
for (var i=0; i<bCoords.length; i++)
if (isThereBuilding(bCoords[i],pixel.x, pixel.y) || isThereBuilding(bCoords[i],pixel.x+width, pixel.y) ||
isThereBuilding(bCoords[i],pixel.x, pixel.y+height) ||isThereBuilding(bCoords[i],pixel.x+width, pixel.y+height) )
return bCoords[i];
return null;
}
function isThereBuilding(obj,x, y)
{
return (obj.x <= x && (obj.w+obj.x)>= x) && (obj.y <= y && (obj.h+obj.y) >= y);
}