Как бы вы сдали ЭГЭ? Протестируйте себя.
Многие знания со школы мне пригодились с работе (чего не скажешь об универе). Такой результат по физике непростителен для призера республиканской олимпиады. Слишком уверенно себя чувствовал, увидел первое нужное число и кликнул, не читая. Отсюда вывод, никогда не следует спешить и не надо чувствовать себя слишком уверенно.
![]() |
|
Установить фокус на Flash под FireFox
Как правило FireFox считается наилучшим браузером для разработчиков, так как реализует передовые фичи в поддержке CSS и HTML. Однако, логичный казалось бы подход для установки фокуса на флаш, который работает в IE, не работает в FF.
<body onLoad=”flashMovie.focus()”>
Garry Bishop разработал универсальное кроссбраузерное javascript решение, которое позволяет установить фокус на swf при загрузке страницы. Скачать пример можно тут.
Комментариев нетХороший стиль программирования
Только немногие квалифицированные программисты, с которыми мне приходилось сталкиваться, не пренебрегают хорошими правилами написания кода. Недавно на хабре мне попалась неплохая статья посвященная данной теме (полная версия). Будет полезно почитать всем, как начиниющим программистам, так и настоящим гуру. Однако, читайте с умом, некоторые моменты могут быть трактованы неоднозначно. Прежде чем возмутиться или не согласиться по какому-то пункту - советую почетать коментарии, там все подробно разжевано.
10 приемов, разрушающих хрупкую красоту кода:
1. Объявление всех переменных в начале программы;
2. Возврат результата функции через ее параметр;
3. Отсутствие локальных функций;
4. Отсутствие else if;
5. Использование параллельных массивов;
6. Хранение размера массива в отдельной переменной;
7. Доступ к свойствам объекта через obj.getProperty() и obj.setProperty(value);
8. Использование рекурсии для вычисления факториалов и Чисел Фибоначчи;
9. Отсутствие именованных параметров функции;
10. Невозможность объявления объектов «на лету».
Отладка с помощью ошибок.
Кто сказал, что ошибки это плохо? Если требуется посмотреть, путь, по которому вызывается actionscript функция, вам поможет следующий debug рецепт:
throw new Error("test");
} catch (err:Error) {
trace(err.getStackTrace());
}
Degrafa
Я считаю, что каждый Flex разработчик, который считает себя более менее продвинутым, должен знать назначение этой либы.
Просматривая многочисленные примеры, выложенные на сайте, складывается впечатление, что с ее помощью можно делать все. Это как правда, так и ложь. На самом деле Degrafa - это библиотека для создания программной (в основном векторной) графики с поддержкой mxml синтаксиса. Чаще всего используется для скинования flex компонентов. На сайте содержится куча примеров. Полезность некоторых из них удваивается с учетом того, что показывает, как создавать и скиновать свои собственные компоненты на базе UIComponent.
Комментариев нетBrowser tracer. Vizzy Flash Tracer
Незаменимым средством дебага для разработчика является трейсер. Который причем позволяет ловить трейсы из любого места, будь то браузер или stand alone player.
Я, например, уже очень давно пользуюсь данным трейсером по совету Роста. Данный тул обладает кучей полезных свойств: чтение трейсов из браузера, поиск текста, фильтрация, подсветка, настройка шрифта и размера текста
Все в нем хорошо, только была одно неудобство. Так как трейсер постоянно читает файл flashlog.txt, то после продолжительной работой с swf-кой накапливается значительное количество трейсов, следовательно вырастает размер и текствого файла. И трейсеру за одно и то же время приходится считать уже гораздо больше информации. Это приводило к значительному возрастанию нагрузки на проц и hdd. Я предложил Сергею a.k.a. ir73 (разработчику трейсера) добавить дополнительную фичу на ограничение максимального количества считываемых байт. Короче спасибо Сергей за быстрый отклик и за новую версию flash tracer 1.13. По сравнению с версией 1.7 введена еще куча полезных фич, таких как мультиплатформенность, автоматическая настройка mm.cfg, и определение пути к flashlog.txt.
Комментариев нетЗнакомство с ANT
Давно собирался написать эту статью. Поднятая тема в группе ruFlash стала последним толчком, побудившим меня к написанию этого поста. Попробую все наглядно объяснить с примерами и картинками.
Для себя я использую темплейт-проект, из которого посредством минимальных манипуляций очень быстро получается новый рабочий проект.
Вначале копирую папку TemplateProject в рабочую папку (workspace). Скачать архив можно тут. Переименовываю папку в произвольное имя, это будет папка проекта.
Следующие манипуляции подходят для любой Eclipse-based IDE (Flex Builder, FDT):
Создадим новый проект, имя которого соответвует имени папки проекта:

Мы видим следующую структуру проекта:
bin/ - папка для скомпилированных файлов и всего, что им может понадобиться в процессе выполнения
build/ - папка с файлами, которые непосредственно относятся к Ant.
doc/ - здесь хранятся технические задания, скриншоты и всякие прочие подобные вещи.
src/ - папка с исходниками.
lib/ - тут хранятся swc файлы с ассетами, которые используются в проекте (например, com.samoiloff.assets.RectMc)
Давайте добавим последнюю в class path:

Теперь переходим к Ant:
Если вы не видите у себя ant-панель - вы можете открыть ее у себя через Window->Show view -> Ant.
Кстати во Flex Builder по умолчанию Ant Panel не устанослено. Про то, как подружить Flex Builder и Ant я уже рассказывал, это очень просто.
Добавляем главный build file в Ant Panel:

Осталось только подредактировать файл build/local.properties, который содержит настройки среды. Для компилляции необходимо указать путь к установленной у вас flex sdk, если таковой у вас еще не имеется скачать можно тут. И запускаем зеленой кнопкой play на Ant Panel выполнение build файла.
Если вы заглянете в build.xml - то там увидите 3 таска:
1. main - компилляция
2. tracer.log.clean - очистка логов для трейсера
3. run.html - запуск index.html файла.
Все остальное впринципе можно догнать самим, а можно и не разбираться, а просто использовать ;).
В рунете есть еще много полезных статей по ant, например, у Константинера, Роста.
Желаю удачи!
Комментариев нетГотовимся к пасхе.
Готовимся к праздникам, пора везде наводить порядок. Поэтому сейчас на сайте идет работа. Обновил портфолио. Пока список скромный, не успел добавить все, что хотел, но может и это будет кому-нибудь интересно. В ближайшее время ожидается также обновление блога.
Комментариев нетBrute. Online game.
Натолкнулся на отличный ресурс. Идея и исполнение - просто класс.
1. Создаете своего персонажа (при этом персонаж получает рандомом набор атрибутов).
2. Выбираете себе соперника.
3. Клик на fight.
4. Любуетесь битвой.
Один комментарийDebug mode for Flash IDE
Надеюсь, что для кого-то эта статья будет полезна.
Недавно потребовалось серьезно дебажить проект, который компилится FlashIDE. Очень неудобно, когда окно ошибки не выводит строку, на которой ошибка произошла. Порывшись в настройках, компиллятора (Ctrl+Shif+F12) нашел, какая галочка за это отвечает:

Пример:
Сгенерируем ошибку:

После компилляции и запуска видим следующее окно сообщения об ошибке.
При просмотре в браузере понадобится flashplayer debugger version. Если debugger версия у вас еще не установлена - то идем сюда, скачиваем и устанавливаем.

Обратите внимание, что выводится строчка, на которой произошла ошибка. Это очень удобно, так как не требуется ставить кучу трейсов на каждой строке в поисках например null value переменной. А в 90% случаев можно без дополнительного трейса сразу на глаз определить, в чем заключается проблема.
Вобщем получается как тут для Flex SDK, но уже для Flash IDE.
Комментарии (2)