?нструкция по настройке TextMate + FlexSDK (MacOS)

Неожиданно Зомботрон получился весьма большим проектом и ближе к финалу это преподнесло мне много сюрпризов: начиная с нехватки памяти для оптимизации кода и заканчивая бесконечно длительной компиляцией. ? в итоге это меня наконец-то побудило окончательно разобраться со свзякой TextMate + FlexSDK для комфортной разработки и компиляции в будущем.

Данная запись рассчитана на Flash разработчиков работающих под MacOS, поэтому если вы девелопите под Windows, то дальше читать вам врядли будет интересно. ?зрядно помучавшись с бубнами и барабанами я решил непременно написать для себя инструкцию на будущее, если вдруг прийдется пройти через это еще раз. Ну и будет здорово если это пригодится еще кому-то.

Начну пожалуй с того что TextMate, несмотря на свою внешнюю простоту —безумно мощное средство разработки возможности которого расширяются за счет пользовательских бандлов. Мое знакомство с этим редактором началось еще тогда когда я занимался версткой и программированием сайтов и признаться более комфортного универсального редактора до этого я еще не встречал — поддерживает бесконечное количество языков, и функционал легко расширяется с помощю бандлов которые каждый может дополнять на свой вкус. Немного позже, когда я начал активно работать с флеш и осознал, что FlashIDE не годится для написания кода, оказалось, что TextMate и тут готов предложить весь необходимый функционал за счет использования стороннего Action Script 3 бандла. Не буду тратить время и буквы на описывание того как это все выглядит в работе и предлагаю посмотреть деморолик — ролик достаточно старый, поэтому сейчас уже все выглядит немного по другому, но принцип работы остался таким же.

Настройка связки TextMate + FlexSDK

Начну с того как же все это дело настроить и заставить работать. В ?нтернет мне не удалось найти универсальной инструкции работающей на 100% поэтому мне пришлось изрядно повозится чтобы разобраться.

  1. Скачиваем TextMate здесь и устанавливаем его. TextMate является платным приложением, но 30 дней триала в полной мере позволяют оценить его достоинства и недостатки.
  2. Скачиваем ActionScript3 и Flex бандлы для TextMate здесь (зеркало ActionScript3, зеркало FlexBundle) и устанавливаем их двойным кликом.
  3. Скачиваем последний FlexSDK здесь.
  4. Распаковываем FlexSDK и копируем в папку: «~/Library/Developer/SDKs/FlexSDK/»
  5. Открываем TextMate и создаем тестовый проект: меню File > New From Template > Action Script 3 > Project - указываем место сохранения проекта и наименование базовых пакетов. В результате создается структура нового проекта по умолчанию.
  6. Если в TextMate у вас отсуствует панель Project Drawer в котором отображается файловая структура проекта, то открываем его через меню View > Show Project Drawer.
  7. Кликаем в панеле Project Drawer на кнопочку «i» и ставим чекбокс для переменной TM_FLEX_PATH, прописываем путь до FlexSDK: «/Library/Developer/SDKs/Flex3/» — это необходимо будет делать для каждого нового проекта.
  8. Хинт: Если каждый раз прописывать путь до папки с Flex вас не устраивает, то вы можете создать глобальную константу в настройках TextMate с таким же именем и корректной дерикторией.

  9. Пробуем собрать первый билд нажимая cmd+B — если все сделанно правильно, то откроется терминал и в нем будет отображаться процесс компиляции или отображение ошибок которые мешают корректно закончить компиляцию.
  10. Хинт: Горьким опытом было выяснено, что использование простых пробелов в именах папок не дает выполнить корректно компиляцию проекта. Данную проблему можно решить расковыриванием и правкой бандла, но лучше просто избегать пробелов в названиях папок для ваших проектов.

  11. Когда флешка успешно скомпилированна, можно нажать cmd+R чтобы увидеть скомпилированную флешку в браузере. Если вы не вносили в проект никаких изменений то в браузере вы увидете только белое окно — это нормально. Для более наглядного теста попробуйте нарисовать круг или квадрат в вашем проекте ;)

 

Вот собственно и вся настройка, но от себя я хочу добавить что лучше всего разместить ярлык флешки в доке и после компиляции запускать флешку в Standalone Flash Player — на мой взгляд малекое окно флеш плеера намного удобнее чем окно браузера поскольку оно не будет перекрывать редактор кода и окно консоли :)

Настройка вывода трэйс команд

Проект компилируется, все здорово, но где же теперь мы можем найти все то что выводится методом trace()? Пока нигде, но это решается, флеш плеер можно настроить таким образом чтобы содержимое trace() записывалось во внешний файл, но работает это только для Debug Flash Player.

Если у вас еще не установлен отладочный плеер, скачайте его здесь и установите.

Теперь заходим в папку «/Library/Application Support/Macromedia/» и создаем новый текстовый файл с именем «mm.cfg» (для создания текстового файла можно использовать TextEdit или TextMate), содержимое файла должно быть таким:

ErrorReportingEnable=1
TraceOutputFileEnable=1

После создания «mm.cfg» перезапустите браузер или флеш плеер, если они у вас открыты.

Чтобы отслеживать изменения в текстовом файле куда будет записываться лог действий, откройте новое окно терминала, скопируйте в него и выполните следующую команду:

tail -f /Users/%username%/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt

В место %username% укажите имя вашей домашней дериктории. После этого в терминале в реальном времени будет отображаться содержимое лога флеш плеера, то есть теперь в окне терминала вы сможете видеть все trace() сообщения из запущенного *.swf файла в дебажном плеере.

Создание командного файла

Каждый раз вводить команду tail для отслеживания изменений лога перед началом работы конечно не удобно, поэтому для большего удобства можно создать отдельный коммандный файл запусукаемый даблкликом который будет настраивать терминал за нас.

Создаем текстовый файл с именем «FlashOutput.command» и записываем в него строчки:

#!/bin/sh
tail -f /Users/username/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt

Сохраняем файл. ? помещаем его, например в папку «/%username%/Documents/». Но не спешите запускать, в связи с политиками безопасности данный файл нельзя будет запускать и выполнять без специального разрешения.

Открываем терминал и переходим в папку с документами командой:

cd Documents

После выполняем команду

chmod a+x FlashOutput.command

Эта команда устанавливает права доступа которые позволят запускать командный файл двойным кликом. Теперь перед началом работы запускаем этот файл и все trace() сообщения из вашего *.swf будут отображаться в окне терминала.

Хинт: Во FlashIDE окно output очищается автоматически перед компиляцией и запуском приложения, а вот окно терминала не очищается. Но вы можете очищать окно терминала вручную простым сочетанием клавиш: cmd+k.

Решение проблемы вопросиков в окне терминала

Если вы скачали русскую версию FlexSDK то скорее всего в окне терминала все сообщения у вас будут отображаться вопросительными знаками, чтобы исправить это недоразумение необходимо в настройках терминала сменить кодировку UTF-8 на Кириллическая Windows. Найти эту опцию можно в нстройках терминала на вкладке Дополнительно. Будьте внимательны, кодировка применяется для выбранной цветовой темы терминала, то есть если вы решите сменить цветовую тему терминала, то для другой темы вам также нужно будет указать необходимую кодировку.

После того как вы сменили кодировку, выберите меню Shell и кликните в пункт «?спользовать настройки как значения по умолчанию», таким образом кодировка Кирилическая Windows будет использоваться терминалом по умолчанию при каждом запуске.

TextMate + Flash IDE

Продолжительное время я использовал TextMate как внешний редактор кода с бандлом ActionScript3 и при этом выполнял компиляцию во Flash IDE прямо из TextMate по нажатию cmd+Enter. Удобно это тем, что сразу весь проект в TextMate сохранялся и в открытый Flash IDE отправляется команда запуска компиляции на активный *.fla файл. Сделать команду компиляции для Flash IDE достаточно просто:

  1. Открываем в TextMate меню Bundles > Bundle Editor > Show Bundle Editor.
  2. В списке справа находим бандл ActionScript3 и кликаем внизу на кнопку с плюсиком и стрелкой: выбираем пункт New Command, называем команду "Test In Flash", далее в поле Command(s), вставляем команду:
echo "document.testMovie();" > /tmp/fc.jsfl
open /tmp/fc.jsfl -a "/Applications/Adobe Flash CS4/Adobe Flash CS4.app"

Команда использует стандартный флешовый скриптовый язык для запуска тестирования ролика. Остальные параметры следует выставить так же как на скриншоте:

Все, теперь можно запускать компиляцию находясь прямо в TextMate горячими клавишами cmd+Enter.

«Горячие» клавиши для TextMate

На последок я хотел бы привести небольшой список наиболее полезных горячих клавиш для работы в TextMate:

  • cmd+T — список всех файлов проекта с быстрым поиском и переходом;
  • cmd+L — быстрый переход к указанной линии (удобно когда знаешь в какой точно линии произошла ошибка);
  • cmd+W — закрыть текущую вкладку;
  • ctrl+alt+B — выделить блок;
  • cmd+Shift+L — выделить текущую строку;
  • cmd+Shift+T — список всех методов в текущем файле с быстрым поиском и переходом;
  • ctrl+Shift+D — дублировать текущую строку;
  • cmd+F — поиск и замена в текущем файле;
  • cmd+Shift+F — поиск и замена во всех файлах проекта;
  • cmd+Shift+I — добавляет импорт для класса на котором находится курсор;
  • cmd+/ — закомментировать текущую строку или выделенный кусок кода;
  • ctrl+W — выделить слово на котором находится курсор;
  • ctrl+Shift+K — удалить текущую строку;
  • alt+mouse click+mouse move — блочное выделение;
  • ctrl+shift+B — вставить баннер;
  • alt+cmd+I — вкл/выкл отображения знаков табуляции и переносов строк;
  • alt+ESC — список свойств и методов объекта (открывается только когда курсор после точки);
  • ESC — автокомплит;
  • cmd+F2 — добавить/удалить закладку для текущей строки;
  • F2 — переход к следующей закладке;
  • Shift+F2 — переход к предыдущей закладке;

 

Это конечно далеко не весь список полезных клаво-сочетаний. Это всего-лишь список того что я использую в повседневной работе :) Другие полезные функции вы можете найти в справке к TextMate, а так же не забудьте внимательно изучить содержимое бандла ActionScript3 чтобы использовать всю его мощь, и не забывайте, что вы можете самостоятельно дополнять его нужными вам сниппетами и командами.

Ну и как говорится, счастливого кодинга! :)

 

С возвращением!

Еще под мак есть FDT, который недавно обзавелся бесплатной версией.

gamer
1 Февраля 2012
— 01:46
#

@gamer, круто! Не знал, что у FDT появилась бесплатная версия, надо будет как-нибудь посмотреть на него в живую :)

Ant.Karlov
1 Февраля 2012
— 02:17
#

Спасибо Антон! Хотя я стал коситься в сторону "sublime text 2"

osa
1 Февраля 2012
— 07:55
#

Если не секрет:
1. Сколько компилится?
2. Какой размер проекта итоговый (фла)?
3. Не хочешь ехешник выпустить?

Zarkua
1 Февраля 2012
— 09:45
#

Связка отличная.
Настроил попробовать - полюбил ;P

В Poject Information я дописал переменную TM_FLEX_USE_FCSH (значение можно любое, я поставли true). Компилируется намного быстрее и глюков меньше.

А еще каждому, кто открыл для себя TextMate с вышеупомянутыми бандлами, я бы посоветовал прочитать help к ActionScript3 бандлу (он совсем короткий, но интересный).

А для трейсов я использую MonsterDebugger. Пробовал описанный вариант, но мне MD больше понравился. Еще один вариант трейсов был описан на http://www.buxomberry.com/ (сайт сейчас мертв).

Спасибо за статью!

frozencoin
1 Февраля 2012
— 11:33
#

Спасибо за инструкцию, Антон. Не подскажешь как через TextMate форматировать код? ?ли такой функции нет в TM? Может есть bundle?

dan850
1 Февраля 2012
— 15:33
#

Антон, мне очень понравилась цветовая схема для TextMate(Как на картинке на главной странице сайта). Можешь дать её?

dan850
1 Февраля 2012
— 16:19
#

Нужно FAQ составить ;D
На блогах обсуждали разные темы: http://flashgameblogs.ru/blog/808.html

frozencoin
1 Февраля 2012
— 16:33
#

Если не секрет.
Почему не IntelliJ IDEA ?
Вроде тоже работает под маком и танцев с бубном минимум.
Зато в плюсах вся мощь идеи от рефакторинга и навигации по коду до обалденного дебагера и прочих плюшек.

Anton Jivel
1 Февраля 2012
— 17:09
#

Еще есть Astella IDE. Это урезанная версия IDEA специально для AS3/Flex.

dan850
1 Февраля 2012
— 17:53
#

@Zarkua, при компиляции всего проекта во FlashIDE у меня уходит где-то около 5 минут — это, например для Zombotron. ?гры по меньше конечно компилируются быстрее. Но в любом случае когда компилируешь во FlashIDE то каждый раз все компилируется и упаковывается целиком, даже если в коде исправлена всего одна строчка. Таким образом к концу разработки исправление и доработка игры становится сущим адом, состоящего из ожидания пока закончится компиляция. А при работе с FlexSDK графика компилируется отдельно в swc и при этом её можно разбить на несколько swc библиотек: монстры в одной, уровни в другой, звуки в третей и т.п. ? при компиляции проекта графика уже не компилируется и звуки не пережимаются, более того mxlmc компилятор каким-то образом кэширует ранее скомпилированный код и если я исправляю одну строчку, то проект не перекомпилируется целиком. В общем теперь компиляция занимает пару секунд. ? даже если проект станет мега гиганским с безумным количеством арта, то компиляция все равно будет шустрой.

При работе с FlexSDK нет итогового *.fla, есть только исходники для swc в которых хранится графика.

Не вижу необходимости в exe. Но на крайний случай, если очень понадобится, то можно будет уже скомпилированную swf упаковать в exe.

Ant.Karlov
1 Февраля 2012
— 18:31
#

@frozencoin, спасибо за хинт с fcsh, но я даже при дефолтной конфигурации я с проблемами пока не сталкивался :)

MonsterDebugger я пробовал, в целом понравился, но большая часть его функционала завязана на работу с дефолтными объектами флеша, MovieClip, Sprite и т.п., а их я все реже использую в своих проектах. Ну, а для простого трейса он слишком монстроузный :) Но если кто не пробовал, обязательно попробуйте!

Ant.Karlov
1 Февраля 2012
— 18:39
#

@dan850, что значит форматировать код? ?спользуйте сниппеты и ничего форматировать не надо будет. Например, пишем if и жмем TAB, пишем условие и снова жемем TAB, пишем тело условия и т.п.

Ant.Karlov
1 Февраля 2012
— 18:41
#

@dan850, здесь вы можете найти много интересных цветовых тем для TextMate. Тема на скриншоте так же присутствует в этом списке и называется «Birds of Paradise».

Ant.Karlov
1 Февраля 2012
— 18:43
#

@Anton Jivel, TextMate я начал использовать еще до того как активно занялся разработкой на AS3. Поэтому я особо и не искал альтернативных редакторов кода конкретно под AS3 или Flex. А вообще я как посмотрю на скриншоты редакторов типа IntelliJ IDEA — у меня сразу глаза разбегаются от всего этого разнообразия окошечек, кнопочек и вкладочек с разными иконочками :) TextMate для меня прост, удобен и привычен, а так же весьма не дорог и годится для любых других языков.

Ant.Karlov
1 Февраля 2012
— 18:48
#

Антон, под форматированием я понимаю команду "Auto Format" это 5 кнопка во Flash IDE в редакторе кода.

dan850
1 Февраля 2012
— 18:52
#

@dan850, что-то такое я находил в стандартных функциях TextMate, но работало оно не так как я хотел. Я предпочитаю следить за форматированием в ручную :)

Ant.Karlov
1 Февраля 2012
— 18:55
#

Да, Mac OS просто невероятно казуальная :D.

Smrdis
1 Февраля 2012
— 20:29
#

@Smrdis, казуальная, но ты же понимаешь что девелоперы должны знать и уметь чуть больше чем обычные пользователи :) Впрочем для казуальных девелоперов оказывается есть и казуальные решения. Смотри IntelliJ IDEA или FDT ;)

Ant.Karlov
1 Февраля 2012
— 21:53
#

всегда охуевал от девелоперов, которые программируют в текстовом редакторе.

ебитесь дальше, господа. тем более когда под мак существует пару IDE для as3/flash/flex

dev
1 Февраля 2012
— 23:43
#

Всегда охуевал от подобных заявлений от псевдодевелоперов. TextMate один из лучших инстументов для разработки.

?горь
2 Февраля 2012
— 00:33
#

сорри что невольно затеял холивар =(

у меня к IDEA большое теплое чувство так как по работе приходилось рефакторить чужие проекты.
А в идее я могу под себя настроить слилистику кода и одним нажатием хоткея весь бред разложить во что то более менее удобочитаемое хоть пофайлово хоть во всем проекте сразу.
А если какой то класс надо из одного пакета в другой перекинуть а на него пару сотен линков там где уже никто и не помнит - в IDEA это делается тоже буквально двумя кликами а без этого чужое спагетти не разгрести да и свое тоже толком не упорядочить =)

При дебаге - навел на любую переменную в проблемном коде - а во всплывающей подсказке - её текущее значение и тд и тп.

Ну и совсем уж экзотика можно например сохранять текущее состояние проекта и в случае необходимости откатываться на любую ветку предыдущего состояния хоть проектом в целом хоть поклассово.
? много еще других возможностей так порой необходимых.

В общем работа с кодом в идее это почти поэзия =)

А бесполезных финтифлюшек в идее практически и нет - просто качественный полностью настраиваемый под нужды разработчика инструмент от толковых ребят из Питера.

? настраивается там практически все - думаю что легким движением можно ищею превратить в TextMate - только никто из познакомившихся с возможностями идеи делать это почему то не спешит - к хорошему быстро привыкаешь =)

P.S.
Собственно смысл вопроса был узнать почему решили не использовать эту IDE и какие преимущества в использовании TextMate так как с его функционалом вообще не знаком.

Если основное преимущество в силе привычки то вы конечно же правы - каждый использует то что нравится.
(Хотя я знаю убежденных сторонников FAR которые были покорены идеей =) )

Anton Jivel
2 Февраля 2012
— 07:07
#

Спасибо! Ваш блог – находка.

Kohver
2 Февраля 2012
— 21:06
#

Хоть у меня и не MacOS, но почитать вступление и коменты было интересно) Так получается если всю графику в SWC перекинуть, то в любом редакторе на порядок быстрее компилиться будет, даже в том же FlashDevelop

Komizart
3 Февраля 2012
— 00:39
#

работаю на imac + flash builder 4.6 и никаких проблем с большими приложениями. flash cs - извращение для программиста! нитебе нормального дебагера ни нормальных снипетов. эклипс или билдер - единственные профессиональные инструменты флеш разработчика.

Артем
9 Февраля 2012
— 02:08
#

Незнал куда написать) Антох С ДНЮХОЙ) желаю творческого успеха, всегда будь позитивным) жизнерадостным, здоровья богатырского, побольше прибыли, ну и ТЕРПЕН?Я) это сейчас важный аспект:))
Удачи во всем!) С ДР)

ДэН
14 Февраля 2012
— 07:20
#

Я тоже раньше думал что FlexSDK компилит быстро, но нет пределу совершенству, HAXE компилируются мгновенно.

WeslomPo
15 Февраля 2012
— 00:31
#

Да кстати я полностью перешел на HAXE+FlexSDK + TexMate. Причем для HAXE есть просто убойная физическая библиотека Nape.

?горь
16 Февраля 2012
— 22:11
#

Здравствуйте, мне очень понравилась ваша игра.
Но у меня есть несколько вопросов, а точнее 1 :) .
Вы будете делать редактор уровней для игры?
будет тогда так интересно :) , создать какой нибудь уровень :) , например зомби против шахтерского городка и т.д.
а еще, можно добавить мобов которые дрались бы на стороне игрока, но что бы интерес не пропадал, можно сделать их слабыми и не очень многочисленными :) так будет прикольней

Dmitry
18 Февраля 2012
— 21:39
#

Антон, добрый вечер!
Тут перечитывал ваши старые посты в блоге и с чтением одного, под заголовком "Зомбоновости", возник вопрос. Там вы писали, что договорились со спонсором о продаже еще до того, как игра была завершена. А вопрос вот в чем: сколько еще времени спонсор ждал до завершения разработки, но уже после переговоров. ? если вас не затруднит ответить, по поводу оплаты: он в начале заплатил вам некоторую n-ную сумму еще до завершения разработки, а затем оплатил полностью после? ?ли как-то иначе? Заранее благодарен за ответы.

Rise
19 Февраля 2012
— 02:08
#

ребята, мне позвонил К.О. и попросил написать этот пост от его имени.

Dmitry : вам срочно нужно узнать происхождение мема "Можно грабить корованы"
http://lurkmore.to/%D0%9A%D0%BE%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D1%8B

Rise : Автор блока неоднократно и публично сообщал что не собирается делиться подробностями деловых соглашений и итоговыми суммами.
Не ставьте пожалуйста автора замечательного блога своими вопросами в неловкое положение вынуждая вам отказывать или тупо игнорить ваше сообщение.
Тем более что ответ ну ничего не изменит в вашей конкретной жизненной ситуации или вы собираетесь использовать ответ автора блога как прецедент и давать на него ссылку - "вот сколько должен ждать спонсор пока не закончена работа"

--- P.S. ---
Пост сдал, стакан принял. ©

и.о. Капитан Очевидность
19 Февраля 2012
— 22:42
#

и.о. Капитан Очевидность:
ответ автора блога ни в коем случае не собирался использовать, это просто детсад какой-то по типу: "Мама, а у Пети машинка дороже, чем ты мне купила". ? откуда вы знаете, изменит ли это что-то в моей конкретной жизненной ситуации, или ссылаетесь на то, что кэп?

Rise
20 Февраля 2012
— 00:08
#

>? откуда вы знаете
Это очевидно =)

Если это не просто странное любопытство и ответ автора блога, брал ли он предоплату и сколько ждал спонсор вам как то поможет, то разверните вашу конкретную ситуацию танцуя от возможных вариантов ответа.

Например: "Мне позвонил спонсор и озвучил условия такие то и такие то. Если вы брали предоплату и спонсор долго ждал то я пойду и застрелюсь, если вы не брали предоплату и спонсор не ждал, то я застрелю спонсора."

?скренне не понимаю зачем вам вообще это нужно знать и как это знание вам может помочь.

и.о. Капитан Очевидность
20 Февраля 2012
— 07:21
#

Нашел весьма симпатичный редактор. Сам еще не пробовал настроить компиляцию.

Кому интересно:
http://blog.clock.co.uk/2011/12/05/building-as3-with-sublime-text-2/

Fintch
20 Февраля 2012
— 11:14
#

и.о. Капитан Очевидность,
я просто предложил на усмотрение автора идею,
и на вопрос никто так и не ответил , "будет ли в игре редактор уровней ? "

Dmitry
21 Февраля 2012
— 15:27
#

Dmitry
Редактор уровней в той или иной игре появляется по одной из трех причин.
1. создателям игры необходим инструмент для создания уровней
2. редактор уровней является необходимой частью игры
3. создателям игры нечем заняться

--- в меру своей осведомленности постараюсь ответить на эти вопросы =) ---

1. в качестве редактора игровых уровней используется Flash IDE
2. наличие редактора не является необходимой частью игры
3. судя по всему у создателя игры есть более важные задачи и планы

P.S.
Тут есть пример шедевральной игры сделанной по просьбе телезрителей.
http://www.yaplakal.com/forum28/topic263642.html

и.о. Капитан Очевидность
21 Февраля 2012
— 16:44
#

Что за непроходимая тупость. Автор лепит все уровни не в редакторе карт, а прямо в Flash IDE. Плюс ко всему хочу вас огорчить, даже если редактор будет, уровни интегрировать в игру без перекомпиляции исполняемого файла не получится ну совсем никак.
Конец истории.

Noname
22 Февраля 2012
— 09:05
#

Noname - пожалуй не следует переходить на личности.

Легкий ироничный стеб это одно, а прямые оскорбления это совсем другое.

? насчет перекомпиляции вы неправы.
Если в игре предусмотрен редактор уровней то предусмотрена и система сохранения созданных уровней а следовательно и система загрузки уровней без перекомпиляций.

Простейший пример в текстовое поле закидываете структуру описывающую ваш уровень жамкаете кнопочку лоад и вуаля - уровень загружен.

Трабла в том что в данной конкретно игре такой редактор ну совсем не нужен, разве что автору ну совсем уж будет нечем заняться.

и.о. Капитан Очевидность
22 Февраля 2012
— 19:32
#

Какие-такие личности? Я даже имен ваших не знаю. А если человек тупит, ему вполне можно и даже нужно об этом сказать. Все честно и никакого ироничного стеба.

С текстовым полем - извращение.

Noname
22 Февраля 2012
— 23:35
#

>С текстовым полем - извращение.

Это самый банальный вариант, их тыщи.
? никакой перекомпиляции =)

и.о. Капитан Очевидность
23 Февраля 2012
— 03:47
#

@Dmitry, к сожалению редактор уровней для игры Zombotron не предусмотрен. В оригинале уровни разрабатываются непосредственно во FlashIDE и намертво вшиваются в игру без возможности их изменять без перекомпиляции игры. Впрочем даже если был редактор уровней для игры, то все равно процесс создания даже самого простого уровня довольно сложный и требующий некоторых дополнительных знаний.

Как раз после нового года я собирался рассказать о процессе создания игровых уровней для первой части игры, но к сожалению жесткий диск с записанными скринкастами героически погиб и тему создания уровней я пока откладываю :)

Ant.Karlov
24 Февраля 2012
— 16:58
#

@Rise, с продажей Зомботрона была весьма не простая ситуация. Если вы внимательно прочитали мои посты на эту тему, то вы должны были понять что я имею в виду. С момента соглашения до момента релиза прошло наверное пару месяцев.

Но это ни в коем случае не должно становится каким-то условием или тенденцией. Потому что лично я искал те условия которые меня устроят. То есть, это бизнес и все зависит непосредственно от того как вы сами договоритесь. Договоритесь ли вы о продажи игры еще до начала работ над ней, получите аванс вперед или вовсе по перфомансу все деньги только через несколько месяцев после релиза игры — все зависит напрямую о того как вы проведете переговоры и что вы хотите получить в итоге.

Ant.Karlov
24 Февраля 2012
— 17:07
#

@Fintch, SublimeText2 весьма симпатичный редактор, мне больше всего понравился скролл в виде минимап карты кода. Но к сожалению мне пока не удалось разобраться есть ли у него поддержка Сниппетов. За все время использования TextMate я настолько привык к сниппетам, и поэтому SublimeText2 мне кажется менее удобным.

Ant.Karlov
24 Февраля 2012
— 17:13
#

@и.о. Капитан Очевидность, спасибо за ссылку на игру про медведя — это действительно шедевр! :)

Ant.Karlov
24 Февраля 2012
— 17:14
#

Антон, спасибо за ответ

Rise
25 Февраля 2012
— 00:35
#

после медведя я валялся, рыдая, под столом!) Понятно, что письмо написали потом для прикола, но сама идея гениальна. Напомнило мне школьную игру, когда каждый пишет маленькое предложение на любую тему, загинает бумагу и передаёт другому. А он, не видя что написал первый, пишет своё. Потом разворачивают и получают бредовый рассказ.

ЗЫ: нужно попробовать написать таким способом сценарий для игры)

Komizart
25 Февраля 2012
— 15:19
#

Попробовал... Честно скажу, не очень.. ?МХО.
Ох, никогда не пересяду с любимого FlashDevelop на что-то иное.
Графику рисую в Illustrator и Photoshop, потом импортирую во Flash и дальше экспортирую в swc

Kadaf
27 Февраля 2012
— 16:54
#

@Kadaf, я и не утверждал, что TextMate лучше чем FlashDevelop для AS3. Но FlashDevelop нет под MacOS, а сидеть с виртуальной машиной только ради него — не позволительная трата ресурсов :) А как альтернатива FlashDevelop`у, TextMate очень даже ничего, причем в нем можно писать код не только для AS3... Ну и бандлы со сниппетами которые можно пополнять на свой вкус — это мощь!

Ant.Karlov
27 Февраля 2012
— 20:11
#

@Komizart, я думаю нормальному, обычному девелоперу такая сумасшедшая идея как рассматриваемый медведь на машине — в голову придти не может, т.к. у девелоперов шаблоны :) Ну если тока что-нибудь покурить или съесть что-то сильное действующее :)

В общем это как раз то, о чем я уже когда-то писал ранее. У людей которые не имеют тесных отношений с играми и в частности с их разработкой — у них нет шаблонов и они могут мыслить шире, и за счет этого можно генерить вот такие вот шедевры!

Ant.Karlov
27 Февраля 2012
— 20:14
#

@Kadaf, 2 раза мне приходилось кодить то, что художник нарисовал в иллюстраторе... С тех пор я на рыбалку не хожу) При импорте же возникает куча проблем! Конечно нет эффектов - нет проблем, но если они есть, то половина графики импортируется как битмапа.

Даёшь не шаблонные игры! :)

Komizart
28 Февраля 2012
— 00:15
#

Добрый день, Антон.
Еще хотел спросить у вас: как вы считаете, желательно сколько уровней подготовить для демки, если полная версия предполагает 16 уровней? Да тут, конечно, все еще и зависит от типа самой игры и от длительности каждого из уровней, но так, если навскидку.

Rise
2 Марта 2012
— 15:47
#

Rise, это зависит от цели демки. Если на показ споснору то лучше все 16. Для оценочного или фокус теста штуки три сойдет.

Mufasa
4 Марта 2012
— 15:51
#

Спасибо за ответ :) , а вот я выше задавал еще один вопрос, цитата :
" можно добавить мобов которые дрались бы на стороне игрока, но что бы интерес не пропадал, можно сделать их слабыми и не очень многочисленными "

Dmitry
5 Марта 2012
— 15:01
#

Mufasa, да, разумеется, спонсору лучше показывать все 16, но тогда это уже будет не демка ))

Rise
5 Марта 2012
— 15:19
#

Антон, вотпрочитал "MonsterDebugger я пробовал, в целом понравился, но большая часть его функционала завязана на работу с дефолтными объектами флеша, MovieClip, Sprite и т.п., а их я все реже использую в своих проектах. " Можно подробнее, чем именно не устраивает MovieClip и Sprite?

Роман
5 Марта 2012
— 15:23
#

@Роман, думаю Карлов использует Bitmap`ы и рисует их в буфер через какой-то один метод, на подобии SceneDrawAll. Необходимость в спрайтах и клипах при этом отпадает.

имя
5 Марта 2012
— 23:50
#

@Rise, для демки обычно более чем достаточно половины уровней от полной версии игры.

Ant.Karlov
7 Марта 2012
— 22:11
#

@Dmitry, про мобов пока ничего не могу сказать :)

Ant.Karlov
7 Марта 2012
— 22:12
#

@Роман, Sprite и в частности MovieClip имеют в себе дополнительный функционал который мне не нужен из-за использования растровой графики (растеризация). К тому же в AS3 не очень удачная реализация событий, а все эти стандартные классы используют эти события. В итоге если я использую растровую картинку и не использую все эти вкусности, то зачем мне использовать стандартные Sprite и MovieClip!?

В Зомботроне я еще активно использовал Sprite в качестве контейнеров и поплатился немного производительностью и другими неприятными эффектами. В новой игре я полностью отказался от использования Sprite и MovieClip для реализации игрового процесса. Но об этом я еще расскажу в отдельной записи когда прийдет время :)

Ant.Karlov
7 Марта 2012
— 22:18
#

Стандартные классы используют события только если для них регистрировать "слушателей". В остальном разница между Sprite и Bitmap в нескольких байтах памяти под собственные переменные.

имя
8 Марта 2012
— 11:25
#

Ant.Karlov спасибо за еще один ответ, ноу меня еще куча вопросов, но задам пока 1 вопрос:
1. а в игре будут какие нибудь жидкости (например озеро, лужа, у которых были бы бонусы, например уменьшенный урон от падений или же замедление и урон (кислота)) :)

Dmitry
8 Марта 2012
— 12:24
#

А почему так долго туториалов нету?

Алексей
10 Марта 2012
— 00:03
#

>А почему так долго туториалов нету?

Это очевидно.
Автор полностью поглощен реализацией возможности грабить корованы в жидкостях.

P.S. Сорри, сдерживался сколько мог.

и.о. Капитан Очевидность
12 Марта 2012
— 17:38
#

зщлоторитт лт л л@Роман, Sprite и в частности MovieClip имеют в себе дополнительный функционал который мне не нужен из-за использования растровой графики (растеризация). К тому же в AS3 не очень удачная реализация событий, а все эти стандартные классы используют эти события. В итоге если я использую растровую картинку и не использую все эти вкусности, то зачем мне использовать стандартные Sprite и MovieClip!?

В Зомботроне я еще активно использовал Sprite в качестве контейнеров и поплатился немного производительностью и другими неприятными эффектами. В новой игре я полностью отказался от использования Sprite и MovieClip для реализации игрового процесса. Но об этом я еще расскажу в отдельной записи когда прийдет время :)

ййй
27 Июня 2012
— 02:17
#

Hello (:

I want to know how you render the map and stuff in Zombotron ?? Do you use some algorithm.... or you just rendering the all map ? Can you give some tips ?
Oh.. and please in english (:

Thanks a lot !

Ruby
robi9011235@gmail.com

Ruby
1 Августа 2012
— 14:38
#

Есть ли в программе возможность просто тупо выделить текст или сделать шрифт жирнее, как в ворд или стандартном текст редакторе мак ос?

Я не программист, Я художник - Мне важно эстетично мысли записывать =)

Василиса
14 Августа 2012
— 01:01
#

Настройка связки TextMate + FlexSDK

в 4 и 7 пунктах разные пути - ошибка?

Настроил все по инструкции, проект комплируется, есть подсветка синтаксиса, но нет автодополнения кода, нет подсказок по методам класса, не работает подсказки для import =(

Може кто-то сталкивался с этой проблемой?

Константин
2 Октября 2012
— 17:08
#

? flashlog почему-то тоже не пишется.

Содержимое mmc.cfg:
AutoUpdateDisable=0
SilentAutoUpdateEnable=0
ErrorReportingEnable=1
TraceOutputFileEnable=1

Константин
2 Октября 2012
— 17:11
#

Еще такой вопрос, а как лучше всего в таком случае подключать framework AntHill ?:)
А то создавать link в каждом проекте - не очень хорошее и удобное решение.

Константин
2 Октября 2012
— 18:29
#

У меня после настройки этим методом при компиляции проекта выскакивала ошибка: unable to locate fcsh. Решение: поместить папку Developer в корень жесткого диска

Максим
8 Октября 2012
— 07:37
#