![]() |
Автоперевестка таймлайна при смене fps
Например, когда мы эмбедим видео на таймлайн, то видео автоматически синхронизируется с таймлайном исходя из установленного fps.
Вопрос: можно ли как-то динамически переверстать таймлайн (растянуть/сжать простейшие анимации) при смене fps? Или каждый раз это необходимо делать руками? Пример: Есть флешка с fps=10 и 50-ью кадрами (1-й и 50-й - ключевые в анимации движения). Если менять fps на 20, то анимация движения должна быть соответственно из 100 кадров (чтобы сохранить динамику анимации) и 50-й ключевой кадр должен стать 100-м. |
Написать JSFL скрипт, который будет переставлять ключевые кадры.
|
Что-то не могу найти, как получить тип фрейма (ключевой/не ключевой)?
|
У frame есть свойство startFrame, которое показывает начальный фрейм для данной последовательности.
Код:
fl.outputPanel.clear (); |
Понятно...
Я думал есть специальное свойство, а так я уже сделал нечто подобное (для любого числа слоев): Код:
fl.outputPanel.clear ();А где математический аппарат? Мне, например надо округлять числа: из 2.8 сделать 3. Как? add2: вроде нашел - все просто, как валенок: Math.round() :) add3: вроде вышло :) Код:
// скрипт для автоформата таймлайна |
Прошу прощения за тупой вопрос, но куда этот код вставлять чтобы работало?
|
Сохранить в файле с расширением jsfl. Потом в меню выберите Commands > Run command... и этот файл.
Либо скачайте модуль CommandPromt, позволяющий запускать jsfl в панели ide |
чуток потом придется руками подправить, если было много кейфреймов разной длины.
|
Нужно было решить аналогичную задачу, только в обратную сторону - уменьшение FPS, т.е. "сжатие таймлайна". Немного дописал код, может кому пригодится:
Код AS1/AS2:
|
| Часовой пояс GMT +4, время: 01:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.