0
マウスのクリック位置に最も近いオブジェクトを検索したい。マウスクリックに最も近いオブジェクトを選択
これは可能ですか?
私のオブジェクトは、DOTのように非常に小さいです。だから私はそれらを選択することができなかった、私はマウスのクリック位置に最も近いオブジェクトを見つけることができると思った。
これを見つける方法はありますか?
var canvas = new fabric.Canvas('c', { selection: false });
var circle, isDown, origX, origY;
canvas.on('mouse:down', function(o){
isDown = true;
var pointer = canvas.getPointer(o.e);
origX = pointer.x;
origY = pointer.y;
circle = new fabric.Circle({
left: pointer.x,
top: pointer.y,
radius: 10,
fill: 'red',
selectable: false,
originX: 'center', originY: 'center',
});
canvas.add(circle);
canvas.renderAll();
});
canvas.on('mouse:up', function(o){
isDown = false;
});
私は図書館に慣れていないんだけど、ライブラリは、このような機能をサポートしていない場合には、必ず([四分木]を使用することができますhttps://en.wikipedia.org/wiki/Quadtree)または同様のデータ構造を使用して、最も近いオブジェクトをチェックします。 –
要素が小さいにもかかわらず選択可能なパディング付きの大きなオブジェクトを作成することを提案します。 – AngYC