【发布时间】:2018-05-10 21:22:33
【问题描述】:
目前我正在使用 fabricjs 在画布上绘图。
我有一个大半圆和一个小圆。我希望用户能够在大半圆的外线上移动小圆。但是我怎样才能防止圆圈离开它的路径呢?数学不是问题;)
编辑:这里我有一些代码,它告诉你我想要什么。
deltaLeft = p.left - centerPointX;
deltaTop = p.top - centerPointY;
length = Math.sqrt(deltaLeft * deltaLeft + deltaTop * deltaTop);
console.log(length);
if((length <= centerRadius + 5) && (length >= centerRadius - 5) ){
handleNewX = p.left;
handleNewY = p.top;
}else{
p.left = handleNewX;
p.top = handleNewY;
}
https://jsfiddle.net/g1h2gL88/
问题是,移动手柄感觉不自然
【问题讨论】:
-
如果数学不是问题,那么您对
But how can I prevent that the circle leave it's path?的意思就不清楚了。向您的问题添加一个最小的可执行示例,以便重现您的问题。 -
问题是,移动圆圈感觉很奇怪。感觉不像粘在圆圈上。
标签: javascript canvas fabricjs