当我移动对象时。在“修改”事件中,我检查我是否没有将对象移出网格。如果我这样做了,那么我将对象返回到它的初始坐标。它返回正确。但是当我再次尝试移动它时。我拖不过去 看起来视觉坐标已更新。但是有些碰撞坐标没有。如何更新这个交互层坐标?
canvas.on({
'object:moving': function(e) {
e.target.opacity = 0.5;
canvas.renderAll();
},
'object:modified': function(e) {
e.target.opacity = 1;
//e.target.left = 10;
var nx = Math.floor((e.target.left - offset)/60);
var ny = Math.floor((e.target.top - offset)/60);
if(nx > 4 || nx < 0 || ny > 4 || ny < 0)
{
nx = e.target.ix;
ny = e.target.iy;
}
e.target.ix = nx;
e.target.iy = ny;
//e.target.set('top', offset + 30+e.target.iy*60);
//e.target.set('left', offset + 30+e.target.ix*60);
e.target.set('top', offset + 30+ny*60);
e.target.set('left', offset + 30+nx*60);
canvas.renderAll();
}
});