У меня есть два объекта на холсте.Меньший находится сверху большего.Я хочу, чтобы пользователь не изменил размеры более крупного объекта до меньшего размера, чем меньший объект.
Для этого я подключился к событию масштабирования более крупных объектов:
В этом примере он реализуется только длялевая сторона объекта.
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/
Нажмите на черный объект и изменяйте его размер слева направо, пока он не достигнет меньшего зеленого объекта.Вы увидите, что ширина черного объекта изменяется, когда левая сторона останавливается.
Как мне лучше всего этого избежать?Спасибо