Команда List Objects создает каталог текста, фигур, графических изображений и мувиклипов, определенных в ролике. Чтобы выполнить ее, выберите из главного меню Debug List Objects, находясь в режиме тестирования. Обратите внимание, что List Objects не показывает объекты данных (экземпляры класса). О них сообщает команда List Variables.
В примере 19-2 приведен образец выдачи команды List Objects. Обратите внимание на явную пометку текстовых полей, которые могут редактироваться, и показ экземпляров мувиклипов с автоматическими именами (например, _level0.instance1).
Level #0: Frame=1
Shape:
Text: Value = "variables functions clip events startDrag stopDrag Math"
Text: Value = "this movie demonstrates a little math, variables, movie clip events"
Text: Value = "draggable distance"
Text: Value = "calculator"
Movie Clip: Frame=1 Target="_level0.instance1"
Shape:
Text: Value = "distance between clipstotal:horizontal:vertical:"
Edit Text: Variable=_level0.dist Text="222"
Edit Text: Variable=_level0.deltaX Text="174"
Edit Text: Variable=_level0.deltaY Text="138"
Movie Clip: Frame=1 Target="_level0.obj1"
Shape:
Movie Clip: Frame=1 Target="_level0.obj2"
Shape:
Опять-таки, List Objects предоставляет только мгновенный снимок в данный момент времени. Чтобы получить текущее значение объектов после их изменения, команду нужно выполнить снова.
Профайлер Bandwidth Profiler используется для моделирования загрузки Flash-ролика при разных скоростях модема. С помощью Bandwidth Profiler можно измерить производительность ролика, проверить код предварительной загрузки и проследить за положением воспроизводящей головки (Playhead) на главной шкале времени (Main Timeline). Включить Bandwidth Profiler можно следующим образом:
1. Находясь в режиме тестирования из главного меню выбрать View Bandwidth Profiler.
2. В меню Debug выбрать нужную скорость загрузки.
3. Для моделирования загрузки ролика на этой скорости выбрать в меню View Show Streaming.
На производительность Flash могут влиять многие факторы, в том числе используемые объекты и требования к Flash Player. Например, при использовании больших растровых изображений, выводе сложных фигур, состоящих из многих кривых, и чрезмерном использовании альфа-каналов производительность может существенно упасть. Уменьшение времени загрузки и отображения объектов может сократить требования к пропускной способности каналов и мощности процессора, необходимых для выполнения сценариев. Что говорить, ActionScript обычно работает значительно медленнее, чем компилируемые языки, такие как C.
С точки зрения ActionScript, больше всего требуют операции, которые должны ждать окончания отправки или получения данных, либо повторяющиеся многократно (например, исследование большого массива).
Отображение элементов в окне Output происходит очень медленно по сравнению с "невидимыми" операциями ActionScript. Если простой ролик кажется чрезмерно прерывистым, попробуйте отключить все предложения trace( ) или воспроизвести ролик в режиме, отличном от режима тестирования.
Обсуждение того, как писать оптимальный код, находится за рамками данной книги, но все же мы дадим некоторые советы:
· Не повторяйте операцию многократно в цикле, если того же результата можно добиться, выполнив ее один раз вне цикла.
· Не следует дожидаться в цикле совершения некоторого события. Ожидание может оказаться долгим или событие вообще никогда не произойдет, а производительность снизится или предложение окажется заблокированным. Вместо этого используйте обработчики событий, такие как on (load), запускаемые при возникновении или завершении некоторого события.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.