Comments 64
Правила типа «не оставляйте мусора» и «давайте всем сущностям вменяемые имена» применимы вообще ко всему — от программного кода до повседневной жизни:)
Для 6-го пункта ещё можно использовать: в библиотеке в меню выбрать «Select Unused Items» (после чего выделятся все символы которые не используются), и далее удалить их одним нажатием клавиши «Delete».
Жаль что советы касаются только самого базового уровня использования флэша.
+ к пунктам: оставляйте комментарии в коде!
Это уже относится ко всем исходникам
Я считаю, что комментарии очень часто бывают излишни. Красивый и понятный код не нуждается к комментариях за исключением участков со сложной логикой. Чтобы меня правильно поняли, скажу, что подобная тема очень хорошо освещается в книгах «Чистый код» и «Совершенный код».
Вспомнилось:
Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку.
Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку.
по 3 пункту
анимацию лучше делать не с MovieClip, а с Graphic, потому что потом может понадобится дать имя этому объекту для программного управления и в случае MovieClip придется прописывать имя на каждом кейфрейме
анимацию лучше делать не с MovieClip, а с Graphic, потому что потом может понадобится дать имя этому объекту для программного управления и в случае MovieClip придется прописывать имя на каждом кейфрейме
Зависит от конкретного случая. MovieClip удобен тем, что к нему можно применять фильтры и с его помощью легче реализуются зацикленные анимации, но он некорректно отображается при экспорте в .AVI (только первый кадр, внутренняя анимация не происходит).
согласен, в случае с фильтрами не поспоришь
Хмм, нет возможности проверить на PC, но я переодически делаю export to movie > .mov на Маке и внутренняя анимация в мувиклипах играется без проблем
MovieClip-у можно задать имя и по имени обращаться из кода.
Основное отличие насколько я понимаю, в том, что MovieClip проигрывает кадры внутри себя, а кадры внутри Graphics проигрываются его родителем.
Т.е. если сделать Graphics с пятью кадрами и поместить его на сцену с тремя, воспроизводиться будут только три кадра из Graphics, MovieClip же будет проигрывать все свои кадры в каждом кадре родителя.
Основное отличие насколько я понимаю, в том, что MovieClip проигрывает кадры внутри себя, а кадры внутри Graphics проигрываются его родителем.
Т.е. если сделать Graphics с пятью кадрами и поместить его на сцену с тремя, воспроизводиться будут только три кадра из Graphics, MovieClip же будет проигрывать все свои кадры в каждом кадре родителя.
я имел ввиду то, с чем сталкивался неоднократно
когда какой-либо мувик начинают анимировать, а потом возникает потребность в программном обращении к нему. вот тут то и приходится давать одно и то же имя этому мувику на каждом кейфрейме.
— из всего вышесказанного, получается, что наиболее правильно, чтобы внутрення анимация была в мувике, но этот мувик перед внешней анимацией нужно засунуть в график.
когда какой-либо мувик начинают анимировать, а потом возникает потребность в программном обращении к нему. вот тут то и приходится давать одно и то же имя этому мувику на каждом кейфрейме.
— из всего вышесказанного, получается, что наиболее правильно, чтобы внутрення анимация была в мувике, но этот мувик перед внешней анимацией нужно засунуть в график.
Со всем согласен, кроме двух пунктов:
9. Не понимаю сути пункта. Что плохого в сценах? Если лепить все сцены в одну, то получится Layer Hell.
12. Текст преобразуется в кривые, когда к нему надо применить Distort Transform. Да, к сожалению, потом он уже не редактируется.
А от себя могу добавить следующее:
1. Не использовать Filters без надобности, потому что они сильно нагружают процессор (особенно Glow)
2. Используйте свойство Ease у Motion Tween'ов, чтобы они не выглядели топорно. Даже заметку когда-то про это свойство писал.
9. Не понимаю сути пункта. Что плохого в сценах? Если лепить все сцены в одну, то получится Layer Hell.
12. Текст преобразуется в кривые, когда к нему надо применить Distort Transform. Да, к сожалению, потом он уже не редактируется.
А от себя могу добавить следующее:
1. Не использовать Filters без надобности, потому что они сильно нагружают процессор (особенно Glow)
2. Используйте свойство Ease у Motion Tween'ов, чтобы они не выглядели топорно. Даже заметку когда-то про это свойство писал.
Спасибо за дополнение.
На счет Glow, я знаю такой момент, что есть каждому элементу в отдельности применять фильтр, то нагрузка будет гораздо больше, чем если поместить все объекты в контейнер и применять к нему.
По пункту №9. Я придерживаюсь такого мнения, что на главной временной шкале не должно быть ни какой анимации. Вся анимация и графика в MovieClip. Соответственно, редактировать можно внутри него. А если понадобится создать много слоев, то нет разницы MovieClip это или сцена.
На счет Glow, я знаю такой момент, что есть каждому элементу в отдельности применять фильтр, то нагрузка будет гораздо больше, чем если поместить все объекты в контейнер и применять к нему.
По пункту №9. Я придерживаюсь такого мнения, что на главной временной шкале не должно быть ни какой анимации. Вся анимация и графика в MovieClip. Соответственно, редактировать можно внутри него. А если понадобится создать много слоев, то нет разницы MovieClip это или сцена.
Фи вам за ваше мнение по пункту 9
Сцены нужны, сцены важны. Если не знаете как их применять, то это уже другой вопрос.
Другой вопрос скорее в том, что кто-то может не знать как обойтись без сцен.
Сцены — зло, а чтобы не было «Layer Hell», как было сказано выше, слои можно организовать по папкам
Сцены — зло, а чтобы не было «Layer Hell», как было сказано выше, слои можно организовать по папкам
Когда я делал мульт, длиной 3 минуты, у меня было 38 сцен, по 3-4 слоя в каждой. Даже если с папками, все равно это было бы ужасно, особенно если также следовать пункту 2 «Не оставлять незаполненных кадров».
просто, я как программист сделал бы иначе.
мне тяжело смотреть на это глазами аниматора, возможно я и не прав.
мне тяжело смотреть на это глазами аниматора, возможно я и не прав.
Почему это сцены зло?
> 12. Не конвертируйте текст в кривые
Это делается по 2 причинам
1. Флеш иногда глючит при использовании текста
2. Если текст надо сильно поменять\перекрасить\.., с ним проще работать в векторе
Это делается по 2 причинам
1. Флеш иногда глючит при использовании текста
2. Если текст надо сильно поменять\перекрасить\.., с ним проще работать в векторе
приведите пример для второго пункта, когда приложение из отсутствия пустых кадров неожиданно упадет
Когда у вас в 1й линейке именованный объект, а код, который к нему обращается — во 2й. Например.
Никита, спасибо за статью. Нашему флешеру кинул ссылку — говорит нельколько пунктов он не знал =)
Лично меня больше всего раздражает когда аниматоры вставляют в кадры свой говнокод на допотопном ас1, когда уже во всю все пишут ас3. Приходится портировать в код в ас3.
Так же раздражают по русски названные клипы, кадры, слои. Приходится переименовывать в нормальные английские слова.
Вообще с горе дизайнерами и аниматорами бороться довольно трудно, но это стоит того!
Так же раздражают по русски названные клипы, кадры, слои. Приходится переименовывать в нормальные английские слова.
Вообще с горе дизайнерами и аниматорами бороться довольно трудно, но это стоит того!
Вам было бы проще, если бы аниматоры на словах рассказывали, как должна вести себя анимация, которую они сделают в AS1/2?
вы просто не видели, наверное, тех шедевров которые выдают дизайнеры и аниматоры.
иногда проще действительно получается на словах
несколько раз были случаи, когда их код из 30 строк спокойно заменялся аналогом на 3-4 строки
иногда проще действительно получается на словах
несколько раз были случаи, когда их код из 30 строк спокойно заменялся аналогом на 3-4 строки
иногда проще на словах, иногда проще показать в AS2 (я часто так делаю).
Не вижу просто проблемы для прогера переписать кусок AS2 кода на AS3 — всё равно же надо будет писать с нуля. Мне, как бездарю в программировании, многие элементы AS2 кажутся куда более адекватными по отношению к простым смертным, чем серьёзный AS3
Не вижу просто проблемы для прогера переписать кусок AS2 кода на AS3 — всё равно же надо будет писать с нуля. Мне, как бездарю в программировании, многие элементы AS2 кажутся куда более адекватными по отношению к простым смертным, чем серьёзный AS3
Пользуясь случаем поинтересуюсь бесплатными (сорцы не прошу, демка или триал устроит) средствами разработки Flash, *без проблем* работающие на Линуксе хотя бы под вайном.
Кстати фотошоп CS5 работает под вайном довольно неплохо, есть шанс что и флеш будет работать.
На AppDB пишут:
Думаю пойдет какаянибудь Portable версия.
На 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 версия.
на хабре как раз есть статья про такой запуск
habrahabr.ru/blogs/Flash_Platform/108292/
habrahabr.ru/blogs/Flash_Platform/108292/
По 10-му пункту тоже бы поспорил. Группировки нужны там, где идет работа с рисованием примитивов. Не только программеры на флеше пишут, его еще и для анимации можно применять.
по поводу пунктов 8 и 12 очень спорно, если проект состоит и 100 подгружаемых swf, то из за ембеда размер его увеличивается в разы. Иногда проще превращать в вектор. Хотя правильней конечно ембедить шрифты в само приложение и с fla оставлять как textField
Заменил бы 11 пункт на:«Не пишите код в кадрах!»
В комментариях уже озвучили часть замечаний к статье по сценам, группам и встраиваемым шрифтам. От себя добавлю:
1. Следите за весом, используемой графики. Не надо запихивать картинку 1024 на 1024, чтобы потом во флэше её ужимать до 15 на 15.
2. Не злоупотребляйте детализацией. Помните, что Вы рисуете анимацию, а не статическую картинку. Во-первых, излишне детализованная картинка сильно грузит процессов. Во-вторых, пользователь этого просто не заметит.
3. Не злоупотребляйте масками и полупрозрачностью. Это нагружает процессор.
4. Флэш поддерживает русские названия. Поэтому, если не знаете английский, то пишите по русски. Не надо давать названия на киргуде.
5. Я бы не был столь категоричен в случае со сценами. Если очень длинная анимация, они помогают организовать процесс. Но иногда не замечаешь, что есть ещё сцены кроме текущей. Поэтому желательно предупреждать других, что во fla-файле несколько сцен.
1. Следите за весом, используемой графики. Не надо запихивать картинку 1024 на 1024, чтобы потом во флэше её ужимать до 15 на 15.
2. Не злоупотребляйте детализацией. Помните, что Вы рисуете анимацию, а не статическую картинку. Во-первых, излишне детализованная картинка сильно грузит процессов. Во-вторых, пользователь этого просто не заметит.
3. Не злоупотребляйте масками и полупрозрачностью. Это нагружает процессор.
4. Флэш поддерживает русские названия. Поэтому, если не знаете английский, то пишите по русски. Не надо давать названия на киргуде.
5. Я бы не был столь категоричен в случае со сценами. Если очень длинная анимация, они помогают организовать процесс. Но иногда не замечаешь, что есть ещё сцены кроме текущей. Поэтому желательно предупреждать других, что во fla-файле несколько сцен.
Sign up to leave a comment.
Работа с FLA