我的画布上有两个对象。较小的一个在较大的一个之上。 我想阻止用户将较大的对象调整为小于较小的对象的大小。
为此,我加入了更大的对象缩放事件:
此示例仅在对象的左侧实现它。
function stageIntersectsWithObject() {
var stageLeft = el.getBoundingRect(true).left;
var objLeft = rect1.getBoundingRect(true).left
el.setCoords();
if(stageLeft > objLeft){
el.set('left', objLeft);
el.set('scaleX', this.lastScaleX);
} else {
this.lastScaleX = el.scaleX;
}
}
一旦左侧相遇,较大物体的宽度也会随之变化。我通过保存scaleX值来限制行为,但是仍然无法正常工作。
请看看这个小提琴:http://jsfiddle.net/zc3ufbha/1/
单击黑色对象,然后从左到右更改其大小,直到其碰到较小的绿色对象。当左侧停止时,您会看到黑色物体的宽度发生变化。
如何最好地防止这种情况发生? 谢谢