2011-05-05 14 views

Respuesta

8

se podría pensar que si se llama a escala() una vez y luego se llama escala() de nuevo, los resultados serían acumulativos, pero esto no parece ser el caso. Parece que si llama a scale(), recuerda las dimensiones originales y las escala en lugar de las dimensiones recalculadas anteriormente.

La forma en que conseguí que tu ejemplo funcionara fue almacenar la escala (una variable para cada dimensión) en tu objeto (comenzando con scaleX = scaleY = 1). Luego multipliqué la escala almacenada por la escala calculada a partir de la posición final del resizer/cursor y almacené esas en su objeto. Finalmente, utilicé las escalas almacenadas en la llamada a la función scale() para cambiar el tamaño de las formas.

Ver http://jsfiddle.net/donniec/JAVWN/2/

+0

Bonito :) Es por eso que amo stackoverflow – thgie

1

lo arreglé ... sólo tiene que utilizar node.resetScale();

+0

Ese nombre de método parece contrario a la intuición, pero me alegro de que funcione. Ojalá lo hubiera encontrado en la documentación de Rafael. –