我通过在html画布中单击鼠标来给出点来制作形状。现在,我必须单击任意点并将鼠标单击拖动到另一个位置,并且形状应相应调整(剪切)。但是我想通过不使用任何库来做到这一点。我到处都是,大部分都是使用某种库找到的代码。有人可以帮忙吗?仅使用JS可以实现吗?
8080
我通过在html画布中单击鼠标来给出点来制作形状。现在,我必须单击任意点并将鼠标单击拖动到另一个位置,并且形状应相应调整(剪切)。但是我想通过不使用任何库来做到这一点。我到处都是,大部分都是使用某种库找到的代码。有人可以帮忙吗?仅使用JS可以实现吗?
8080
现在要做的是重复捕获鼠标的位置。您已经使用了click事件。我建议在这里监听mousedown事件,并在间隔内调用检查鼠标的位置。时间间隔的返回值必须保存在类的字段中,以便以后将其删除。
因此在类中为intervalId添加一个字段:
var points = {};
var points2 = {};
var p = {};
var t = {};
var house = {};
var i = 0;
var j = 0;
var delt = 0;
var mousePos = {
x: 0,y: 0
};
var intervalId;
在时间间隔内做逻辑:
canvas.addEventListener("mousedown",function(e){
intervalId = setInterval(function() {
mousePos = getmouseposition(canvas,e);
checkPoints(mousePos);
},500)
},false);
现在,一旦用户再次释放鼠标按钮,就需要清除间隔。因此,我们为mouseup事件注册了另一个事件处理程序:
canvas.addEventListener("mouseup",function(e){
clearInterval(intervalId);
},false);
该代码未经测试,并且我没有阅读所有功能。这应该只是我如何解决此问题的某种指导。