matriax
The steps of executing are-
1. (before event tick) Position of scaler_right changed by dragging. Since this scaler_right could be moved in both axis, it should be put on current dragging point.
2. (during event tick, i.e. condition: every tick) Get the distance between scaler_right (which is located at current dragging point) and scaler_left, and set the width of sprite according the disctance
3. (after event tick) Pin the position of scaler_right to the image point, like official pin behavior. Therefor the position of scaler_right will be changed. It will not locate at current dragging point.
4. render.
The problem is - position of scaler_right in step2 is not equal to the final position in step4, remove the pin to image behavior to see the real position in step2.