2015-02-14 2 views
0

Я создаю динамический виджет, используя холст, 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.

ответ

0

Мне потребовалось некоторое время, чтобы понять это. Тот факт, что easeljs movieclips не имеет свойств width и height, сделало его еще более запутанным. Но это оказалось совсем другим: это настройки экспорта Flash-активов.

При публикации обязательно включите «рамки мультифрейма». Выходной файл JS значительно больше, но в моем случае это нормально.

Мульти-кадр границы-Если флажок установлен, по временной шкале символы будут включать в себя свойство «frameBounds», содержащий массив прямоугольников, соответствующий пределах каждого кадра на временной шкале. Примечание: При выборе этой опции может привести к увеличению времени публикации

http://wwwimages.adobe.com/content/dam/Adobe/en/products/flash/pdfs/html_extension_faq_ie.pdf

Смежные вопросы