Ограничить изменение размера объекта - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть два объекта на холсте.Меньший находится сверху большего.Я хочу, чтобы пользователь не изменил размеры более крупного объекта до меньшего размера, чем меньший объект.

Для этого я подключился к событию масштабирования более крупных объектов:

В этом примере он реализуется только длялевая сторона объекта.

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/

Нажмите на черный объект и изменяйте его размер слева направо, пока он не достигнет меньшего зеленого объекта.Вы увидите, что ширина черного объекта изменяется, когда левая сторона останавливается.

Как мне лучше всего этого избежать?Спасибо

...