Как стать автором
Обновить

Комментарии 64

Правила типа «не оставляйте мусора» и «давайте всем сущностям вменяемые имена» применимы вообще ко всему — от программного кода до повседневной жизни:)
назвал новую сущность «Алексеем» (как и меня) вот теперь мучаюсь.
Вот! О чем и речь! а надо было хорошенько подумать:)
Для 6-го пункта ещё можно использовать: в библиотеке в меню выбрать «Select Unused Items» (после чего выделятся все символы которые не используются), и далее удалить их одним нажатием клавиши «Delete».
Жаль что советы касаются только самого базового уровня использования флэша.
Мир станет лучше после этого поста, т.к. 80% работы на флеше сводится к простейшей анимации.
Скажите это flash/flex программистам.
Что-то мне подсказывает, что это пост не для них.
И для них тоже.
+ к пунктам: оставляйте комментарии в коде!
Это уже относится ко всем исходникам
Я считаю, что комментарии очень часто бывают излишни. Красивый и понятный код не нуждается к комментариях за исключением участков со сложной логикой. Чтобы меня правильно поняли, скажу, что подобная тема очень хорошо освещается в книгах «Чистый код» и «Совершенный код».
Вспомнилось:
Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку.
по 3 пункту
анимацию лучше делать не с MovieClip, а с Graphic, потому что потом может понадобится дать имя этому объекту для программного управления и в случае MovieClip придется прописывать имя на каждом кейфрейме
Зависит от конкретного случая. MovieClip удобен тем, что к нему можно применять фильтры и с его помощью легче реализуются зацикленные анимации, но он некорректно отображается при экспорте в .AVI (только первый кадр, внутренняя анимация не происходит).
согласен, в случае с фильтрами не поспоришь
Хмм, нет возможности проверить на PC, но я переодически делаю export to movie > .mov на Маке и внутренняя анимация в мувиклипах играется без проблем
Да, на удивление, в .MOV экспорт отличный.
А я уже три года записываю конечные мульты с помощью Screen Capture и сжимаю отдельно. Спасибо, что открыли глаза!
MovieClip-у можно задать имя и по имени обращаться из кода.
Основное отличие насколько я понимаю, в том, что MovieClip проигрывает кадры внутри себя, а кадры внутри Graphics проигрываются его родителем.
Т.е. если сделать Graphics с пятью кадрами и поместить его на сцену с тремя, воспроизводиться будут только три кадра из Graphics, MovieClip же будет проигрывать все свои кадры в каждом кадре родителя.
я имел ввиду то, с чем сталкивался неоднократно
когда какой-либо мувик начинают анимировать, а потом возникает потребность в программном обращении к нему. вот тут то и приходится давать одно и то же имя этому мувику на каждом кейфрейме.
— из всего вышесказанного, получается, что наиболее правильно, чтобы внутрення анимация была в мувике, но этот мувик перед внешней анимацией нужно засунуть в график.
Лично я с опаской отношусь к Graphics :)
Чтобы избежать путаницы использую только мувики. Но ваша идея интересна, надо попробовать
Со всем согласен, кроме двух пунктов:

9. Не понимаю сути пункта. Что плохого в сценах? Если лепить все сцены в одну, то получится Layer Hell.
12. Текст преобразуется в кривые, когда к нему надо применить Distort Transform. Да, к сожалению, потом он уже не редактируется.

А от себя могу добавить следующее:

1. Не использовать Filters без надобности, потому что они сильно нагружают процессор (особенно Glow)
2. Используйте свойство Ease у Motion Tween'ов, чтобы они не выглядели топорно. Даже заметку когда-то про это свойство писал.
Спасибо за дополнение.
На счет Glow, я знаю такой момент, что есть каждому элементу в отдельности применять фильтр, то нагрузка будет гораздо больше, чем если поместить все объекты в контейнер и применять к нему.

По пункту №9. Я придерживаюсь такого мнения, что на главной временной шкале не должно быть ни какой анимации. Вся анимация и графика в MovieClip. Соответственно, редактировать можно внутри него. А если понадобится создать много слоев, то нет разницы MovieClip это или сцена.
Фи вам за ваше мнение по пункту 9
Сцены нужны, сцены важны. Если не знаете как их применять, то это уже другой вопрос.
Другой вопрос скорее в том, что кто-то может не знать как обойтись без сцен.
Сцены — зло, а чтобы не было «Layer Hell», как было сказано выше, слои можно организовать по папкам
Когда я делал мульт, длиной 3 минуты, у меня было 38 сцен, по 3-4 слоя в каждой. Даже если с папками, все равно это было бы ужасно, особенно если также следовать пункту 2 «Не оставлять незаполненных кадров».
просто, я как программист сделал бы иначе.
мне тяжело смотреть на это глазами аниматора, возможно я и не прав.
для аниматора все слои в одной сцене — все равно, что для программиста весь код в одном файле. куда приятнее разделять код на несколько файлов, даже несмотря на то, что его можно свернуть в неймспейсы и в пределах одного файла
Почему это сцены зло?
> 12. Не конвертируйте текст в кривые
Это делается по 2 причинам
1. Флеш иногда глючит при использовании текста
2. Если текст надо сильно поменять\перекрасить\.., с ним проще работать в векторе
3) Если не хочется встраивать во флешку нестандартный шрифт ради нескольких фраз.
Шрифты для полей Static не встраиваются. Только отдельные символы.
2… Ну тогда уже лучше сделать текст маской, а под маской играться с вектором как вам угодно
приведите пример для второго пункта, когда приложение из отсутствия пустых кадров неожиданно упадет
НЛО прилетело и опубликовало эту надпись здесь
Когда у вас в 1й линейке именованный объект, а код, который к нему обращается — во 2й. Например.
Слои существуют только в IDE для удобства редактирования, в конечном swf-файле все слои сводятся в один, твины тоже просчитываются в последовательность ключевых кадров.
Никита, спасибо за статью. Нашему флешеру кинул ссылку — говорит нельколько пунктов он не знал =)
У вас странный флешер
Как бы не у всех есть деньги на высококлассных специалистов. А кто-то растит их сам. Спасибо что насрали в карму.
Я не срал :-) Поверьте.

Рекоммендую просто купить ему книжку. Как правило, книжки очень здорово упорядочивают те знания, которые были надерганы из инета
Тогда искренне прошу прощения за свои слова.
Книжку покупали, видимо не все внимательно прочитал ))
Лично меня больше всего раздражает когда аниматоры вставляют в кадры свой говнокод на допотопном ас1, когда уже во всю все пишут ас3. Приходится портировать в код в ас3.

Так же раздражают по русски названные клипы, кадры, слои. Приходится переименовывать в нормальные английские слова.

Вообще с горе дизайнерами и аниматорами бороться довольно трудно, но это стоит того!
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Делайте проверку на кадр в классе объекта, например.

Я не буду писать код в кадрах
Я не буду писать код в кадрах
Я не буду писать код в кадрах
НЛО прилетело и опубликовало эту надпись здесь
Я не против кода в кадрах. Я против as1 и as2.
НЛО прилетело и опубликовало эту надпись здесь
Вам было бы проще, если бы аниматоры на словах рассказывали, как должна вести себя анимация, которую они сделают в AS1/2?
вы просто не видели, наверное, тех шедевров которые выдают дизайнеры и аниматоры.
иногда проще действительно получается на словах
несколько раз были случаи, когда их код из 30 строк спокойно заменялся аналогом на 3-4 строки
иногда проще на словах, иногда проще показать в AS2 (я часто так делаю).
Не вижу просто проблемы для прогера переписать кусок AS2 кода на AS3 — всё равно же надо будет писать с нуля. Мне, как бездарю в программировании, многие элементы AS2 кажутся куда более адекватными по отношению к простым смертным, чем серьёзный AS3
НЛО прилетело и опубликовало эту надпись здесь
Пользуясь случаем поинтересуюсь бесплатными (сорцы не прошу, демка или триал устроит) средствами разработки Flash, *без проблем* работающие на Линуксе хотя бы под вайном.
НЛО прилетело и опубликовало эту надпись здесь
Кстати фотошоп CS5 работает под вайном довольно неплохо, есть шанс что и флеш будет работать.
На AppDB пишут:
Install the program in Windows and copy the installed files to Ubuntu. These additional libraries from winetricks are needed: vcrun2008, msxml3, atmlib, gdiplus.
Думаю пойдет какаянибудь Portable версия.
Благодарю.
По 10-му пункту тоже бы поспорил. Группировки нужны там, где идет работа с рисованием примитивов. Не только программеры на флеше пишут, его еще и для анимации можно применять.
по поводу пунктов 8 и 12 очень спорно, если проект состоит и 100 подгружаемых swf, то из за ембеда размер его увеличивается в разы. Иногда проще превращать в вектор. Хотя правильней конечно ембедить шрифты в само приложение и с fla оставлять как textField
Для статик-полей ембед не идет. Для остальных — можно вынести сам шрифт куда-нибудь.
Заменил бы 11 пункт на:«Не пишите код в кадрах!»
В комментариях уже озвучили часть замечаний к статье по сценам, группам и встраиваемым шрифтам. От себя добавлю:
1. Следите за весом, используемой графики. Не надо запихивать картинку 1024 на 1024, чтобы потом во флэше её ужимать до 15 на 15.
2. Не злоупотребляйте детализацией. Помните, что Вы рисуете анимацию, а не статическую картинку. Во-первых, излишне детализованная картинка сильно грузит процессов. Во-вторых, пользователь этого просто не заметит.
3. Не злоупотребляйте масками и полупрозрачностью. Это нагружает процессор.
4. Флэш поддерживает русские названия. Поэтому, если не знаете английский, то пишите по русски. Не надо давать названия на киргуде.
5. Я бы не был столь категоричен в случае со сценами. Если очень длинная анимация, они помогают организовать процесс. Но иногда не замечаешь, что есть ещё сцены кроме текущей. Поэтому желательно предупреждать других, что во fla-файле несколько сцен.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории