Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги > КорДум

Рейтинг: 5.00. Голосов: 3.

Приятное программирование: знакомство с FlashDevelop (часть 1)

Запись от КорДум размещена 17.12.2010 в 00:53
Обновил(-а) КорДум 10.01.2011 в 23:38

Человек по своей натуре любит комфорт. Комфорт проявляется в совершенно разных формах: от получения боли (бывают же такие) до созерцания красивой вазы на столе. Начинающий флешер узнает, что такое настоящий комфорт, когда переходит на более удобный редактор кода, оставляя за своей спиной мучения и частые опечатки, что были в работе с внутренним редактором кода FlashIDE. Да-да, Adobe Flash CSx, она самая. К сожалению, слишком многие пишут в кадрах на манер AS1. Это не есть хорошо, это плохо и вообще. Если вы такой – эта статья не для вас, равно как и весь цикл подобных статей. Но хотелось бы ждать вашего исправления, ага?

Как понятно из заголовка, я сейчас буду преподносить полезное и комфортное знание о программе FlashDevelop и постараюсь осветить самые распространенные и важные аспекты. Что это за программа? А все очень прозрачно, это редактор кода, один из самых удобных (тут мой энтузиазм и любовь к FD зашкаливали), нужно только прочувствовать это. А что самое главное, он до сих пор совершенствуется и имеет неплохую поддержку, как со стороны разработчиков, так и со стороны форума, насколько мне известно.

Ну, значит, нужно начать более подробный рассказ с ссылки на дистрибутив. Вот раздел на форуме с самыми свежими версиями, качаем саму программу и FlexSDK (в той же теме должен быть). Второй качать можно по желанию, главное определить для себя, чем будем заниматься. А вариантов у нас два: в FD только код, а компилятором нам служит FlashIDE – в таком случае FlexSDK нам не нужен; все делаем в FD, подключаем SWC и хотим компиляцию без багов – тогда качаем. Кроме того, нынче в установку занесли автоскачивание FlexSDK, то есть, если что, можно подумать, быть или не быть, при установке.

Описывать процесс установки, на мой взгляд, глупо – там все понятно. Но стоит осветить один момент. На втором экране можно выбрать тип установки. Рекомендую поставить в Advanced галочку у пункта Standalone. И я бы не знал об этом, если бы мне не подсказал уважаемый iNils. Благодаря этому пункту программа установится в одно место, а не будет раскидана по всему диску С (забегу вперед и скажу, что это для того, чтобы в будущем подстроить все шаблоны классов под себя).
Название: Bilderman 2010.12.16 22-37-32.png
Просмотров: 7056

Размер: 37.4 Кб

Итак, проинсталлировав все, открываем и видим много чего непонятного. Обо всем по порядку. Рассказывать о настройках я буду субъективно, но постараюсь объяснить все, о чем сам знаю (в остальном прошу помочь для полноты статьи). Пока что нас интересуют две панели – справа и снизу. К слову, все панели перетаскиваемые и могут быть как независимыми окнами, так и панелями, причем в совершенно любых местах. Правая панель включает в себя четыре вкладки: Outline, Bookmarks, Files, Project. Первая вкладка одна из важных, на мой взгляд. В ней отображаются все методы, переменные, константы и прочее с иконками-идентификаторами приватности. Удобно также через двойной клик по элементу в списке переходить в место объявления метода/переменной. Далее, Bookmarks. Метки-закладки, как в книге. Я убрал с глаз долой эту вкладку, ибо не вижу в ней никакого для себя смысла. Files представляет собой аналог файлового менеджера (тоже не вижу смысла в нем). Project – еще одна главная панель, в ней отображается иерархическое построение файлов проекта. Через нее же осуществляется навигация между классами, в ней же по правой кнопке можно создать новый класс, файл xml и еще много всяких приятных вещичек.

Переходим к нижней панели и видим там 4 вкладки, плюс одна неявная – всегда находится в развернутом положении и зовут ее Output. Это третья важная штука в интерфейсе, благодаря ей мы видим дубликаты RTE, все трейсы, ход компилирования программы и проч. Так как в ней отображаются порой уж очень многобуквенная информация, советую эту панельку так и оставить снизу. Сразу же скажу, что понятия не имею, зачем нужны вкладки Layouts, Logs и Tasks (о них подробно расписал iNils в комменатриях ниже). В них никогда ничего не отображалось, поэтому всегда их выключаю. Results. Четвертая панель, как всадник апокалипсиса, она враг флешера, она показывает ошибки, критикует строчки и бьет по пальцам указкой за отсутствие типизаций у переменных. Я, из-за боязни получить подзатыльник, оставляю ее в гордом одиночестве в качестве одной вкладки снизу. Я закончил и предлагаю разместить все панели по своему вкусу.

Вы уже решили, как будете работать: в связке FlashIDE + FD или же только в FD с компилированием через FlexSDK? Ежели первое, пропустите этот абзац и еще два.
Вооот, правильно, что отказались от компилятора FlashIDE. Это решение обернется для вас добром, обещаю. В чем плюс такого подхода: мы сокращаем число багов компилятора, кроме того, имеем гибкую настройку этого самого компилятора, избавляемся от постоянного всплытия на первый план FlashIDE (а если она еще и тормозит? Это же вообще жесть!). Что-то еще было приятное… А, имеем возможность делать Embed, также можем вставлять еще одну вкусность – тег [SWF] и много другое. Обо все об этом позже, даже, скорее всего, в следующих статьях. Для нас сейчас есть два важных дела, нам не дадут бонусов, если мы не выполним эти миссии. Во-первых, настраиваем трейс. Без этой настройки его не будет, а это очень печально.

Лезем в Tools – Programs Settings, вкладка FlashViewer. Видим поле External Player Path, загоняем в него путь к дебаг флеш плееру. У меня он сидит вот по этому адресу: C:\Program Files\Adobe\Adobe Flash CS5\Players\Debug\FlashPlayerDebugger.exe, но он же должен быть и на сайте Adobe. Указали, трейсы теперь должны работать как надо.

Вторая миссия представляет собой не спасение мира, нет. Она представляет собой проверку, вписался ли FlexSDK в нужное место, иначе мы ничего не скомпилируем. Tools - Programs Settings, вкладка AS3Context, там поле Flex SDK Location. Загоняем туда путь до папки с СДК. Вот теперь настройка закончена. Может быть, на первых порах все покажется страшным, но не пугайтесь, сходите и попейте чай.

А сейчас мы будем создавать первый проект. Выбираем Project – New Project, в появившемся окне выбираем проект по своим предпочтениям. Для AS2 + FlashIDE есть Flash IDE Project в разделе ActionScript 2, для AS3 + FlashIDE есть соответствующий проект в разделе ActionScript 3. Для выбравших чистый AS3 + FlexSDK есть AS3 Project и то же, но с прелоадером. Тут все должно быть понятно. Указали путь к папке сохранения, если нужно, указали пакет, назвали проект. Затем нажимаем ОК. Вываливается табличка с приглашением ввести имя автора. Эта штука будет подставляться в каждый шаблон класса и показывать, что это мы авторы, а не Вася Пупкин (если вы не Вася Пупкин, конечно же). Вот он – наш первый проект. Пока пустой и неприметный, с шаблоном из папок и первого файла Main.as или вообще без ничего. Но скоро мы это исправим, в следующей статье.
Размещено в FlashDevelop
Комментарии 31 Отправить другу ссылку на эту запись
Всего комментариев 31

Комментарии

Старый 17.12.2010 01:21 iNils вне форума
iNils
 
Аватар для iNils
Цитата:
Сразу же скажу, что понятия не имею, зачем нужны вкладки Layouts, Logs и Tasks
Layouts - позволяет сохранять положение всех панелей. Можно сделать несколько наборов, а потом быстро их менять для различных ситуаций (например, за буком у меня один набор, а для десктопа другой. В итоге я ставлю новую версию FD на десктоп, потом просто копирую эту папку на бук и запускаю нужный набор), а не переустанавливать их каждый раз куда нужно.

Logs - Это примитивный логгер, у меня он отключен, так как пользуюсь своим.

Tasks - позволяет в коде проекта, или в других файлах с разрешенными расширениями, описывать задачи (TODO)
Например где-то в коде вы написали:
Код AS3:
/// TODO: сделать проверку на нулевые размеры для BitmapData
После рефреша в Tasks, или после запуска проекта, FD сканирует файлы проекта, находит ваше описание и помещает задачу в панель. В результате, вы всегда можете посмотреть, что вы сделали, а что забыли и быстро перейти в данному месту.
Кроме TODO, мы можете сами описать нужные вам ключевые слова и подобрать иконки к ним из списка включенных в FD, для этого нужно запустить файл FlashDevelop\Tools\icomp\icomp.exe, выбрать иконку и записать ее индекс
У меня их целый набор
Код:
TODO
BUG
FIX
DEFINE
RELEASE
RC
DEBUG
TEMP
И индексы иконок
Код:
229
197
32
127
461
486
153
196
Формат вида
Код AS3:
/// TODO: сделать проверку на нулевые размеры для BitmapData
необязателен
Можно и так сделать
Код AS3:
// TODO сделать проверку на нулевые размеры для BitmapData
Обновил(-а) iNils 17.12.2010 в 01:48
Старый 17.12.2010 01:38 iNils вне форума
iNils
 
Аватар для iNils
Кстати о режиме установки Standalone.
Как уже указано выше, все файлы FD копируются в одно место, поэтому уже установленный и настроенный под себя FD можно скопировать или переместить куда угодно (на флешку, бук и тп) очень легко.

Это позволяет сделать одну простую, но полезную вещь. FD может запускаться как только в виде одной копией, так и в множестве, что позволяет запускать сразу несколько проектов одновременно. Для этого, в основной папке FD, нужно создать пустой файл ".multi". Но тогда каждый открываемый файл (не из FD) будет создавать новую копию FD, а не открывать его в текущей копии, что бывает неудобно.

Поэтому я сделал следующее. Создал вторую папку с FD (первая основная) и создал файл .multi, в результате, все открываемые в проводнике (Far) файлы открываются в основном FD без создания новых копий, а когда мне нужно открыть другой проект или что-то быстро протестировать, запускаю второй FD столько, создавай столько копий сколько мне нужно.
Старый 17.12.2010 01:52 dimarik вне форума
dimarik
 
Аватар для dimarik
Цитата:
Сразу же скажу, что понятия не имею, зачем нужны вкладки Layouts, Logs и Tasks
Наверняка у FD есть... хелп. Сам (давно) не пользую Flash Develop, т.к. есть лицензия Flex Builder, но немного слыхал об IDE вообще. У меня сложилось стойкое ощущение, что о таких непонятных штуках можно прочитать в сакральных письменах, вызываемых волшебным пассом F1. Осталось только вспомнить, кто же первый догадался поставить столь нужную функцию на самую главную клавишу. Хотя, продукт бесплатный, а там могут помощью не заморачиваться. Приходится гуглить до посинения, в т.ч. и на их форуме.
Обновил(-а) dimarik 17.12.2010 в 01:54
Старый 17.12.2010 02:02 iNils вне форума
iNils
 
Аватар для iNils
Цитата:
У меня сложилось стойкое ощущение, что о таких непонятных штуках можно прочитать в сакральных письменах, вызываемых волшебным пассом F1
Есть такой плагин OpenTheDoc для FD, он показывает контекстный справочник по AS3 и соответственно переназначает F1
Старый 17.12.2010 03:38 Котяра вне форума
Котяра
 
Аватар для Котяра
Цитата:
Ну, значит, нужно начать более подробный рассказ с ссылки на дистрибутив. Вот раздел на форуме с самыми свежими версиями, качаем саму программу и FlexSDK
не мешало бы сделать так:
Ну, значит, нужно начать более подробный рассказ с ссылки на дистрибутив FD. Вот раздел на форуме с самыми свежими версиями, качаем саму программу и FlexSDK

А вообще молодца!
Для "переходящих" и новичков нужно упор сделать на автокомплит и автогенерацию
+ как подключить player_global.swc
+ как заюзать компоненты флэша (подсказка: создать swc либо скачать где нибудь)
+ как поменять глупую комбинацию ctrl+sp+1 на alt+a (auto) )))))) отсебятина

для более продвинутых:
+ asDoc
+ svn
+ шаблоны и сниппеты
+ как подключить ant (постараюсь написать)
+ как работать с дебагером( просьба к iNils)
Обновил(-а) Котяра 17.12.2010 в 04:07
Старый 17.12.2010 04:11 Котяра вне форума
Котяра
 
Аватар для Котяра
2 dimarik, ну не смог я проникнуться FB... юзал ради дебагера и профайлера онли.
Может не прав. Просто прикипел к ФД еще с ас2 и мтаска.
оффтоп: в гости заезжай, сейчас я всё время в долгопе, телефон мой есть у тебя)
Старый 17.12.2010 08:38 КорДум вне форума
КорДум
 
Аватар для КорДум
Ай, шайтан, забыл же ссылку прикрутить! "Вот" должны быть ссылкой.
Сейчас подрехтую статью. Большое спасибо, iNils, за подробный рассказ, отошлю за дополнительной информацией в комментарии.
Цитата:
Есть такой плагин OpenTheDoc для FD, он показывает контекстный справочник по AS3 и соответственно переназначает F1
Ага, я такой себе поставил давно уже. На время написания статьи пришлось перенести основную папку с программой в другое место, удалить все настройки и проинсталлировать заново, дабы видеть девственно чистыми глазами новичка.
Цитата:
Для "переходящих" и новичков нужно упор сделать на автокомплит и автогенерацию
Сманивать этим? О да, пожалуй, это самая приятная штука в редакторе!
Обновил(-а) КорДум 17.12.2010 в 08:45
Старый 17.12.2010 10:16 Hauts вне форума
Hauts
 
Аватар для Hauts
Цитата:
девственно чистыми глазами новичка
Посмеялся! Отличная статья, очень полезно, спасибо!
Старый 17.12.2010 10:37 ChuwY вне форума
ChuwY
 
Аватар для ChuwY
Ты так умело заманиваешь, что я вот почти соблазнился...
Но тут же возникает два вопроса о отношениях.
FD и Java.
FD и SVN.
Они дружат?
Старый 17.12.2010 11:27 gloomyBrain вне форума
gloomyBrain
 
Аватар для gloomyBrain
svn и git - да, но правда пока кривовато
java - нет. Для этого есть Идея и НетБинс
Старый 17.12.2010 11:38 ChuwY вне форума
ChuwY
 
Аватар для ChuwY
Просто хотелось бы все это иметь вместе.
Потому что сейчас у меня в одном воркспейсе и ява и флэш.
Одновременно запускаю и серверную часть и клиента. Все же в одном редакторе это удобно, когда и интерфейс знакомый и все остальное.
Без SVN тоже не гуд.
И еще вопрос. В параметрах запуска для флэш-приложений можно указывать то, что будет его запускать?
То есть, грубо говоря, main.html, main.sfw или какой-нибудь контейнер, который мою свежескомплленную флешку и запустит.
Пока что в Эклипсе с флэш-плагином это все есть.
Но его небесплатность, конечно, смущает.
Обновил(-а) ChuwY 18.12.2010 в 18:13
Старый 17.12.2010 11:41 iNils вне форума
iNils
 
Аватар для iNils
Цитата:
+ как работать с дебагером( просьба к iNils)
А я с ним не работаю, он вообще у меня отключен.
Старый 17.12.2010 15:34 Psycho Tiger вне форума
Psycho Tiger
 
Аватар для Psycho Tiger
Дебагер - большая вещь, я не понимал раньше. Вместо трейсов ставится брейкпоинт и смотрится все переменные.
У нас в проекте сейчас сервер-клиент шлются хэши - т.е. Object`ы флешевые (типа JSON, но amf).
Когда добавляется новая команда - писать код одно удовольствие. Ставится брейкпоинт на начале парсе команды, смотрится весь хэш пришедший с сервера с их значениями. Но самая приятность - если в коде написать сразу data.message (где data - тот самый хэш, message - поле в нём), и подвести мышку к message - увидим содержание message, т.е. WYSIWYG редактор по сути. Ну и при RTE я сразу вижу проблему и чем она вызвана.
На самом деле невозможность запускать флешку в Tab`е - это такая мелочь по сравнению с тем, что даёт дебагер (во всяком случае для меня). Ну, это если насколько я понимаю причину выключения дебагера.
Старый 17.12.2010 16:11 iNils вне форума
iNils
 
Аватар для iNils
Цитата:
это такая мелочь по сравнению с тем, что даёт дебагер
Мне он ничего не дает. RTE у меня редки, и найти ошибку проблемы не составляет. А вот логи для меня на много полезнее.
Старый 17.12.2010 18:03 Котяра вне форума
Котяра
 
Аватар для Котяра
Цитата:
И еще вопрос. В параметрах запуска для флэш-приложений можно указывать то, что будет его запускать?
То есть, грубо говоря, main.html, main.sfw или какой-нибудь контейнер, который мою свежескомплленную флешку и запустит.
можно.
По поводу явы: можно поставить FDT как эклипс плагин и переключать перспективы в одном эклипсе. Но по мне переключать неудобнее чем иметь 2 открытых редактора.
А по сравнению с клипсами FD всё же реактивный самолёт.
Обновил(-а) Котяра 17.12.2010 в 18:05
Старый 17.12.2010 19:15 Psycho Tiger вне форума
Psycho Tiger
 
Аватар для Psycho Tiger
Цитата:
Мне он ничего не дает. RTE у меня редки, и найти ошибку проблемы не составляет. А вот логи для меня на много полезнее.
У меня тоже они не очень часты, но как правило если происходят - то не по глупости, а то что логика пошла куда то "не туда", отчего с дебагером мне это отследить куда проще. Наверное, у тебя в программировании в целом опыта больше, отсюда и разные предпочтения =)

По поводу ИДЕшек под разные языки - приходится писать на чем то кроме флеша только по долгу учебы. А там, как правило, такая примитивщина, что думать об удобной иде времени уходит больше, чем написать эту самую лабу.
Старый 21.12.2010 14:01 ChuwY вне форума
ChuwY
 
Аватар для ChuwY
Цитата:
По поводу явы: можно поставить FDT как эклипс плагин и переключать перспективы в одном эклипсе. Но по мне переключать неудобнее чем иметь 2 открытых редактора.
Так и есть. А чем переключатель то неудобен? Одна кнопка. Которую и жать то не обязательно, чтобы редактировать\запускать.
Старый 22.12.2010 19:30 NumpuT вне форума
NumpuT
А есть что подобное под Linux?
Старый 23.12.2010 14:24 willis83 вне форума
willis83
 
Аватар для willis83
Решил попробовать хвалёный fd, вроде всё проставил, но при попытке скомпилировать проект в аутпут выкидвывает строки
Unable to start java.exe: Не удается найти указанный файл
Could not compile because the fcsh process could not be started.
Build halted with errors (fcsh).
Как мне с этим бороться?? При установке фд ругался на отсутствие ява машины, но нафиг она мне нужна если я не использую ява? Надо качать ява машину? какую?
Старый 23.12.2010 14:37 alexcon314 вне форума
alexcon314
Ява-машина используется многими приложениями, Open Office тот же. Не обязательно быть при этом ява-программистом. Это просто рантайм, наподобие .net-framework. Потому поставить ее придется, если хототе использовать фд. Кстати .net ему тоже нужен).
Старый 23.12.2010 14:44 willis83 вне форума
willis83
 
Аватар для willis83
Про ява машину я знаю, но тут просто не ожидал. Яву я нашел, валялась в закромах flash cs4. Где её в fd прописать?
Мне теперь придётся .net framework 3 ставить? К слову я в семёрке сижу, .net помоему по умолчанию установлен.
Старый 23.12.2010 14:44 Mur4ik вне форума
Mur4ik
Цитата:
* Java 1.6+ is required for the Flex compiler for ActionScript 3 development.
Перед установкой желательно не полениться и прочесть требования к окружению
Старый 23.12.2010 14:52 willis83 вне форума
willis83
 
Аватар для willis83
эт я уже понял, где прописать в фд расскажите
Старый 23.12.2010 14:56 Mur4ik вне форума
Mur4ik
Не нужно ее в FD прописывать.
Старый 23.12.2010 15:07 willis83 вне форума
willis83
 
Аватар для willis83
Всё, разобрался во всём, работает.... буду оценивать ))
Обновил(-а) willis83 23.12.2010 в 16:00
Старый 24.06.2012 00:26 zxcv вне форума
zxcv
 
Аватар для zxcv
гм, прошу прощения за нубский вопрос, но:
- ежели проект уже создан во Flash IDE, то от него (Flash IDE) отказаться уже не получится?
- если я создаю в FD проект без Flash IDE, то откуда брать визальную часть? графику, мувиклипы там, например.
Старый 24.06.2012 01:12 КорДум вне форума
КорДум
 
Аватар для КорДум
http://www.flasher.ru/forum/blog.php?b=280
Вот, прочтите. Отказаться можно вполне.
Старый 24.06.2012 23:27 zxcv вне форума
zxcv
 
Аватар для zxcv
Спасибо большое!
Еще вопрос возник в процессе: во Flash IDE у меня имеется мувик со своим классом. Если конструтор этого класса вызывать теперь во FlashDevelop'е, то графика не отображается. Если же графику не связывать с этим классом, а в него (в класс) добавить переменную типа мувиклип и уже в эту переменную совать этот мувик, то все норм. Как-то можно решить эту проблему?
Я понятно изложил суть или нужны примеры? )
И еще момент: в кнопках создал доп слой под звуки - во FlashIDE все работает как задумывалось, во FlashDevelop'е - не работают вообще.
Обновил(-а) zxcv 25.06.2012 в 00:07
Старый 25.06.2012 17:46 КорДум вне форума
КорДум
 
Аватар для КорДум
Не знаю, как решить такую проблему, но сам всегда использовал композицию.
Старый 25.06.2012 19:12 zxcv вне форума
zxcv
 
Аватар для zxcv
Простите, а "композиция" - это што? ) Собственно, связка класс-графика?
Старый 26.06.2012 13:29 КорДум вне форума
КорДум
 
Аватар для КорДум
Смотря что понимать под связкой. Это создание графического ассета (экземпляра графики-мувиклипа) в классе и управления им через ссылку. То есть не расширяя класс от граф. ассета.
 

 


Часовой пояс GMT +4, время: 03:45.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.