1
私は現在collsion検出のためにこれを使用しています:アイソメ物体検出
var overlaps = (function() {
function getPositions(elem) {
var pos, width, height;
pos = $(elem).position();
width = $(elem).width();
height = $(elem).height();
return [ [ pos.left, pos.left + width ], [ pos.top, pos.top + height ] ];
}
function comparePositions(p1, p2) {
var r1, r2;
r1 = p1[0] < p2[0] ? p1 : p2;
r2 = p1[0] < p2[0] ? p2 : p1;
return r1[1] > r2[0] || r1[0] === r2[0];
}
return function (a, b) {
var pos1 = getPositions(a),
pos2 = getPositions(b);
return comparePositions(pos1[0], pos2[0]) && comparePositions(pos1[1], pos2[1]);
};
})();
しかし、問題は、私は建物等尺画像を扱うので、あなたが現在置かないことができ、大きな空の領域があります。たとえば :
だから私は、お互いに、より近いそれらを配置することはできません。
私はこの問題を解決するにはどうすればよい 、
私のイメージは次のようにロードされます。
<div id='obj' name="build_6" class="build_88" style='top:584px;left:1094px;'><img src ="img/buildings/6.png" /></div>
ジェフリー
私を助けてくれますか?私は、javascriptまたはjqueryでそれを使用する方法を理解していません –
境界円に関連する詳細をどこかに格納する必要があります。簡単な方法は、それらを属性として要素に入れることだけかもしれません。次に、幅/高さなどを読み取る代わりにチェックを行うときに、属性から値を読み取り、それに基づいてチェックを行います。 –
私はそれを試してみるよ –