Показаны сообщения с ярлыком онлайн. Показать все сообщения
Показаны сообщения с ярлыком онлайн. Показать все сообщения

1 июля 2009 г.

Как проводить отладку flash онлайн

Иногда бывает ситуация, когда делаешь ролик на flash - и локально все работает замечательною. А когда выкладываешь в сеть - возникают проблемы. Где-то что-то "косячит".

Приходится вновь загружать Flash IDE, в сотый раз все проверять, находить ошибки - исправлять - выкладывать в сеть, и... О, черт! Снова что-то не так!

Чтобы упростить отладку роликов, их можно отлаживать прямо онлайн. Конечно, полнофункциональный Debugger - как в Flash IDE - будет недоступен. Но у Вас будет возможность писать в лог-файл все сообщения, которые Вы в ролике выводите с помощью команды trace().

Другими словами, Вы сможете получить то же, что и в окне Output во время выполнения ролика - но только при выполнении с сайта, онлайн.

Все, что для этого понадобится - установить себе специальный Flash Player Debug. Это версия, предназначенная для FLEX-разработчиков (FLEX выполняется с помощью обычного флеш-плеера). Разумеется, сама среда FLEX нам не понадобится - нам нужен только Flash Player Debug.

Итак, по шагам, что и как надо сделать, чтобы получить возможность отладки flash-роликов (.swf) в онлайне.

Шаг 1-й. Скачать и установить себе Flash Player Debug

Скачать этот плеер можно бесплатно, со страницы сайта Adobe - http://www.adobe.com/support/flashplayer/downloads.html

На картинке ниже показано, где на данной странице находится этот плеер - он есть в версии под Internet Explorer, и под Nescape-совместимые браузеры (Firefox, Opera). Ну и плюс под Мак и Linux:

Перед установкой данного плеера Вам необходимо удалить из системы Ваш текущий - обычный - flash-плеер. В Windows это можно сделать либо через "Панель управления/Установка и удаление программ", либо с помощью специального деинсталлятора от Adobe. Получить его можно на странице http://kb2.adobe.com/cps/141/tn_14157.html

Там же есть и инструкции - правда, на английском. Но думаю, никаких проблем у Вас не возникнет - просто перед деинсталляцией надо закрыть ВСЕ программы, которые могут использовать Flash - браузеры, мессенджеры (типа ICQ), отдельно открытые SWF-файлы и пр.

После установки Flash Player Debug запустите браузер, и откройте какой-нибудь флеш-ролик. Над роликом откройте контекстное меню Flash-плеера. Там должны быть пункты меню "Отладчик" и "Показать области перерисовки" (как на картинке ниже):

Если есть - все окей, плеер установлен.

Шаг 2-й. Настройка Flash Player Debug

Отладочная версия Flash Player выводит лог в файл на локальном компьютере. Но чтобы он начал выводить этот лог, вначале потребуется разрешить этот лог формировать. И делается это немного замороченным способом.

А именно.

Сперва надо прописать файл конфигурации. Но в строго определенное место - в папку, которая назначена в системе как домашняя для текущего пользователя.

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

То есть - C:\Documents and Settings\<имя-пользователя>.

В самой системе Windows местоположение данной папки задается с помощью т.н. переменных системного окружения - HOMEDRIVE и HOMEPATH.

Но если хотите проверить наверняка - нажмите на меню "Пуск", выберите пункт "Выполнить...", введите cmd и нажмите Enter. Запустится интерпретатор командной строки. В нем введите команду set и вновь нажмите Enter. Перед Вами появится список всех переменных системного окружения - включая их имена и значения. Найдите там HOMEDRIVE и HOMEPATH. Они и задают то место, куда надо прописать файл конфигурации.

Если же этих переменных в списке нету, то их надо задать принудительно. Для этого следует нажать правой кнопкой мышки на иконке "Мой компьютер", и выбрать "Свойства". Затем в открывшемся окне перейти на вкладку "Дополнительно", и там - почти в самом низу - нажать на кнопку "Переменные среды".

Во вновь открывшемся окне следует создать две указанные переменные. Для этого нажимаем кнопочку "Создать" в верхнем блоке ("Переменные среды пользователя для <какое-у-Вас-там-имя>"), и заполняем два поля. Верхнее - имя переменной (HOMEDRIVE или HOMEPATH), второе - ее значение.

Для примера:

HOMEDRIVE C:

HOMEPATH \Documents and Settings\<имя-Вашего-пользователя>

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

Итак, будем считать, что у нас уже задана папка для файла конфигурации - C:\Documents and Settings\<имя-пользователя>.

В этой папке нам надо создать текстовый файл, который называется mm.cfg.

В нем следует прописать несколько настроек (каждая с новой строки):

TraceOutputFileEnable=1 ErrorReportingEnable=1 MaxWarnings=500

Параметр TraceOutputFileEnable определяет, будут ли выводится в лог те строки, которые вы в Flash-ролике формируете с помощью команды trace(). Если этот параметр равен 0 (т.е. TraceOutputFileEnable=0) - то эти строки в лог выводится не будут. Если 1 - будут.

Параметр ErrorReportingEnable определяет, будут ли выводить в лог сообщения об ошибках воспроизведения. Если они Вам не нужны - можете их отключить (т.е. прописать ErrorReportingEnable=0).

Параметр MaxWarnings определяет, сколько строчек сможет записать в лог-файл Flash Player Debug. По умолчанию это значение равно 100 - после чего новые строки в лог не пишутся. На примере выше мы задали ограничение в 500 строк. Кстати, если прописать MaxWarnings=0, то мы снимем всякое ограничение на длину лога.

Важно - при каждом новом запуске Flash Player Debug содержимое лога уничтожается.

Шаг 3-й. Найти то место, где расположен лог :)

Раньше, до апдейта 9-й версии Flash Player Debug местоположение лог-файла можно было задать самому - прописав его в файле конфигурации mm.cfg (использовался параметр TraceOutputFileName=<полный-путь-к-файлу/имя-файла>).

Но теперь местоположение и имя файла жестко зафиксированы.

Называется он flashlog.txt.

В системах Windows 95 / 98 / ME / 2000 / XP этот файл находится по адресу C:\Documents and Settings\<имя-Вашего-пользователя>\Application Data\Macromedia\Flash Player\Logs

В системе Windows Vista лог-файл лежит по адресу C:\Users\<имя-пользователя>\AppData\Roaming\Macromedia\Flash Player\Logs

(Если Ваша домашняя папка на другом диске - или называется вдруг по другому - что можно проверить по значению переменных HOMEDRIVE или HOMEPATH, о которых упоминалось Выше, то начало пути надо поменять на тот, что задан этими переменными.)

Шаг 4-й. Собственно отладка ролика

Открываем Flash IDE, создаем новый документ, и в первом кадре нашего единственного слоя вписываем ActionScript - что-то наподобие:

trace("Test message from Flash"); var a=10; var b=20; var c=a+b; trace("c = " + c);

Нажимаем Ctrl+Entrer, смотрим, все ли в порядке. Появится окно Output, где будет результат наших команд trace().

Перед тем как сделать Publish ролику, чтобы протестировать его онлайн, не забудьте в настройках публикации (Ctrl + Shift + F12) разрешить отладку для скомпилированного файла. У меня - во Flash IDE 8 она называется Debagging Permitted. У Вас же - если версия IDE более новая - может называться по другому. Например, Enable Debugging. Если ее не включить, в лог-файле может ничего не появится.

Затем загружаем наш ролик в веб (с помощью любого доступного способа внедрения в html - через JavaScript, тег <object> или <embed>) - и смотрим в лог-файл.

И видим:

Test message from Flash c = 30

Вот и все. Осталось дело за малым - выводить с помощью trace нужные нам значения переменных, находить ошибки, исправлять и наслаждаться корректно работающими флеш-роликами.

В общем, удачной Вам отладки flash-роликов онлайн!