比方說,我在HTML5畫布畫成這樣的行:查找點是否在一條線上
...
ctx.beginPath();
ctx.moveTo(x,y);
ctx.lineTo(x1,y1);
ctx.closePath();
...
我想找出是否鼠標點擊事件發生在這條線上,而我的代碼像這樣:
var handleMouseDown = function(e) {
var coords = translateCoords(e.x,e.y);
...
if (ctx.isPointInPath(coords.x, coords.y) {
...
現在,這個代碼在圈&矩形,而不是行的情況下,罰款。我有兩個問題:
我的想法是,也許在一行上調用closePath()是不正確的。問題 - 如何檢查鼠標停止事件是否發生在這條線上?
我該如何擴展這個以查找是否發生了鼠標向下的事件附近這一行?
謝謝 - 夢幻般的答案,真的很感謝你的幫助! – appa
嗯,雖然這對線條很好用,但我想我需要一個不同的解決方案來處理其他一維路徑,例如弧線或曲線。下面的解決方案可能會更好地工作。 – appa