"Записки флэшера"
предыдущие части цикла - в номерах, начиная с 5-го января.
Анимация.
Буду тривиален, когда расскажу о том, что Flash предоставляет возможность анимации. Всё рассказанное ранее явно или неявно основано на этом, да и популярности такой бы эта технология себе не снискала бы без этого базового её свойства. Сказать здесь что либо дополнительно практически уже невозможно, про time-line, обеспечивающие эти возможности я написал прилично ранее, про слои я полагаю нужды особой в пояснениях тоже нет. Символы разобраны более-менее подробно, поэтому, информация в этой главе будет носить слабо-упорядоченный характер - расположу её по пунктам, не связанным между собой ничем, кроме того, что они имеют какое-то отношение к анимации во Flash, хотя, этого касается любого аспекта работы с ним.
1. Анимациии подвластны 3 типа объектов - символы, свободные формы и группы объектов. Все они имеют особенности анимации, присущие только им.
2. Относительно групировок - ещё раз призываю любить и жаловать. Комплексная однотипная анимация множества независимых объектов, или простая геометрическая анимация единичных образований, когда нет нужды создавать новые символы - вот области применения групп в анимации. Ещё важный момент - группы могут находиться перед символами на слое, в отличие от свободных форм, если это необходимо проделать, других путей нет (кроме разброса по разным слоям в среде авторинга). Группы так же вкладываемы друг-в дружку. Один важный момент - анимируется вся группа сразу, анимация внутри группы невозможна, идеологически в первую очередь. Группа может иметь определённый центр трансформации, но может и не иметь, в таком случае операция поворота выполняется относительно усреднённого центра, масштабирование выполняется абсолютно. Точно так же происходит масштабирование кнопок - удивительно, но факт. что касается анимации центра трансформации, особенно когда в одном ключевом кадре он есть, а в другом его нет - получить можно абсолютно всё что угодно, о чем я уже писал выше, но повторюсь ещё раз в контексте групп - они больше всего подверженны ошибкам такого рода.
3. Анимация символов мною рассмотрена выше, какие характеристики символов пожвержены ей я уже перечислял. добавлю только, что ручная настройка символьной и групповой анимации позволяет получать более приемлемые результаты - обеспечить контроль направления поворотов, к примеру, так как автоматически осуществляется поворот на наименьший угол, но вы легко можете указать специально направление вращения и даже число дополнительных полных оборотов, которые символ или группа должны совершить в процессе одной анимационной акции. Так же подвержены контролю и характеристики всей анимации - смещение акцентировки на начало или конец акции (анимационная акция - 2 ключевых кадра и переход между ними). Установка параметра Easing даст это смещение
- in - движение замедлено вначале (-100 - из полного останова)
- out - движение замедлено в конце (100 - полный останов)что касается начальной/конечной скорости, то она, очевидно не равна той, какая была бы при отсутствии ускорения - если ускорение постоянное, то для полного останова она должна быть вдвое больше, учитывайте этот факт, для создания плавности переходов. Знание и понимание кинематики и физики движения окажутся полезнее, чем умение быстро нажать пару клавиш, очень советую почитаь на досуге хотя бы Савельева.
4. Легко можно запретить поворот или масштаб в анимационной акции.
5. Наверное, те кто проработал lessons знают о возможности анимации позиции объекта с привязкой к пути. Так же существует возможность автоматического поворота, для сохранения одинакового угла между путём и объектом. так же нелишне заметить, что к пути привязвыается pivot объекта.
6. О путях: слой с атрибутом Guide для находящегося непосредственно под ним слоя (группы слоёв) с аттрибутом Guided будет давать формы для этих самых путей. Надо отметить, что в 3ей версии эти режимы были различны - слой guide и motion guide были различны по сути своей - если первый и не отображался, но на движение он не влиял. Зато motion guide был чётко привязан к конкретному слою, и по создании мог быть перенесён в любое место в стопке слоёв без потери прямой связи с тем слоем, для которого был создан. теперь всё чуть иначе - слой трактуется в зависимости от того, где он расположен, и от аттрибута тоже, есссно. Это позволяет использовать один слой для создания motion guide или mask для группы слоев и объектах на них, идея хорошая, но отчасти избыточная. И ненужные навязчивые усовершенствования переставляют порой аттрибуты слоёв, причем обычнее всего это только лишне - когда у вас есть guide-слой, который вы используете как трассировочный, содержащий графику, нужную только при авторинге (я, к примеру, - сплошь и рядом), то занеся случайно под него другой слой или создав под ним слой моментом получаете уже guided слой, хотя вам это абсолютно ни к чему - насколько ли часто вы используете GUIDE-растры и motion guide-технику, но как только эта диспропорция вам станет ясна, нелепость такого усовершенствования становится налицо. Таких неурядиц полно, уж лучше о них сказать - предупреждён - значит вооружён.
7. О глюках анимации даже вспоминать страшно, но знать надо. Необходимо отличать глюки анимации от кривоты инструментария. Новаторство в некоторых областях к сожалению ничего не дало - нельзя было перетаскивать методы работы во F. из Director - там принципиально различные подходы к организации time-line - во F. каждый слой содержит ЛЮБОЕ число объектов, подлежащих (или НЕ подлежащих) анимации. Конечно, если в слое есть анимация (символьная/групповая), корректной она будет как раз только если там только один символ на слое (хотя, ИНОГДА проходит и большее, но тут - дуракам счастье. и ленивым.) Дело в том, что анимационная акция иногда выделяется целиком и может быть случайно перенесена в другое место на time-line, хотя вы всего-лишь хотели ВЫДЕЛИТЬ группу кадров. Практика 3-го Flash тут играет дурную услугу, но кто знает, от чего придётся отвыкать в F5? Фокус с возникновением ключа при неосторожном передвижении (а иногда -просто выделении) объекта НЕ в ключевом кадре - тоже пренеприятная глючь (тогда настройки символьной анимации (ну назову её по имени, хоть оно и идиотское на мой взгляд - motion tween) - преедут в одну из новообразовавшихся акций, а в другой всё будет по умолчанию - вряд ли этого мы хотели). В 3-ей версии это было просто невозможно и дисциплинировало больше. Вот такая печаль. Глюки с motion guide вполне понятны порой. Во первых: пути не анимируются. Во вторых, пути - это только shape. (плевать - outline или граница solid, или то и другое вместе). Если у вас (не дай Бог, конечно), в качестве путей используется не-линейный subdiv (есть точки, которые принадлежат трем и более сегментам, это вполне реально, если вспомнить, что свободные формы сотавляют на каждом слое авторинга единый объект, с общими точками и границами), Flash. может попытаться найти путь, по которому поедет объект, но может случиться и так, что это окажется ему не по зубам, поэтому ждите сюрпризов (хотя, у меня был пример, когда он выбирал из 10(!!!) разветвлений, но очень не любит на пути изогнутые кривые, на прямых же иногда пробегает, если не надо делатьособо крутые виражи). И ещё литр дёгтя. Мы утеряли возможность под маской сделать слой, одновременно оперирующий с motion guide. 3я версия это позволяла.
Случаются фокусы и пострашнее. Ситуация: 3 clip'а. По непонятной причине, один НЕ работает как надо. Убиваем его и создаём копию на основе одного из 2-х оставшихся и преименовываем его именем уничтоженного перед этим. выравниваем все 3 clip'а - и опс! не работают уже все 3! 5 откатов назад - не работает только один. 25-ый раз повторяешь всё заново - результат стабилен. это самый свежий случай, ему и недели нет ещё :) А сколько их, мгновений чудных, готовит просвещенья дух! Полезное правило - будьте готовы ко всему ;) Есть верный солюшн на такое - скопируйте графику и даже кадры анимации, создайте новый документ и перенесите туда всё, что успели спасти. Вероятность того, что НЕПОНЯТНЫЙ глюк пропал наоборот появится. Ну, и, естественно, ВАШИ ошибки никуда не денутся.
продолжение следует