Я создаю динамический виджет, используя холст, createjs и активы из Flash. В Flash есть определенный мувиклип, который я экспортирую в js, и используя createjs, я переношу этот мувиклип в холст. Он должен быть отзывчивым, поэтому холст может быть любого размера, к которому через дополнительный код js я масштабирую экспортируемый мувиклип, чтобы он соответствовал.Экспортированные объекты movieclip не масштабируются должным образом на этапе createjs
Функция масштабирования проста. Это код CoffeeScript, но он довольно прямой:
@movieclip = new lib.MyWidget()
@stage.addChild(@movieclip)
box = @movieclip.getBounds()
w_ratio = $canvas.width()/box.width
h_ratio = $canvas.height()/box.height
@movieclip.scaleX = @movieclip.scaleY = Math.min(w_ratio, h_ratio)
@movieclip.x = (@stage.canvas.width)/2
@movieclip.y = (@stage.canvas.height)/2
Результат, хотя и всегда выключен. Мувиклип не масштабируется должным образом, он становится слишком большим или слишком маленьким. Это как если бы исходное измерение getBounds
было неправильным. Я также пробовал getTransformedBounds
, но он, похоже, не отличается.
Любая идея, что вызывает это? У оригинальной анимации мувиклипа есть несколько слоев в ней, некоторые из них замаскированы ... Я все еще пытаюсь понять, что-то с этим связано.
Библиотеки на месте: createjs, movieclipjs, tweenjs, jquery.