Работа с примерами ActionScript

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

Компьютеры с Flash Professional или Flash Builder
Сведения об использовании этих сред разработки для выполнения примеров кода ActionScript 3.0 см. в Работа с примерами ActionScript 3.0 во Flash Professional или Работа с примерами ActionScript 3.0 в Flash Builder. Используйте инструкции trace и другие средства отладки, чтобы глубже понять принцип работы примера кода.

Мобильные устройства
Примеры кодов ActionScript 3.0 можно выполнять на мобильных устройствах, которые поддерживают Flash Player 10.1 и более поздние версии. См. раздел Работа с примерами ActionScript 3.0 на мобильных устройствах. Эти примеры кода также можно выполнять на компьютере с Flash Professional или Flash Builder.

Телевизионные устройства
Хотя эти примеры кода нельзя выполнять на телевизионных устройствах, все равно можно извлечь полезную информацию, выполнив их на компьютере. Сведения о разработке программ для телевизионных устройств см. в разделе Платформа Flash для ТВ на веб-сайте Adobe Developer Connection.

Типы примеров

Представлены следующие типы примеров кодов ActionScript 3.0:

  • Примеры фрагментов кода (приводятся во всей документации по ActionScript 3.0)

  • Примеры на базе классов (приводятся в основном в Справочнике по ActionScript 3.0)

  • Практические примеры, содержащие несколько исходных файлов (загрузите исходные ZIP-файлы со страницы www.adobe.com/go/learn_programmingAS3samples_flash_ru)

Примеры с фрагментами кода

Пример с фрагментом кода выглядит следующим образом:

var x:int = 5; 
trace(x); // 5

Фрагменты кода содержат только ту часть кода, которая требуется для демонстрации одного понятия. Как правило, они не содержат инструкций с пакетами или классами.

Примеры на базе классов

Многие примеры содержат исходный код для полного класса ActionScript. Пример на базе класса выглядит следующим образом:

package { 
    public class Example1 { 
        public function Example1():void { 
            var x:int = 5; 
            trace(x); //5 
        } 
    } 
}

В примере на базе класса код включает инструкцию пакета, объявление класса и функцию конструктора.

Практические примеры, содержащие несколько исходных файлов

Во многих разделах «Руководства разработчика по ActionScript 3.0» приводятся практические примеры, демонстрирующие использование определенных возможностей ActionScript в прикладном, жизненном контексте. Такие примеры обычно содержат несколько файлов, включая:

  • один или несколько исходных файлов ActionScript;

  • файл .FLA для использования в Flash Professional;

  • один или несколько файлов MXML для работы в Flash Builder;

  • файлы с данными, файлы изображений, звуковые файлы и другие файлы, используемые в приложении (необязательно).

Практические примеры обычно предоставляются в виде архивных ZIP-файлов.

Список примеров, используемых в руководстве для разработчиков и включенных в ZIP-файл

ZIP-файл для Flash Professional CS5 и Flex 4 (загрузите со страницы www.adobe.com/go/learn_programmingAS3samples_flash_ru) содержит следующие примеры:

Практические пример также можно найти во многих статьях по быстрому началу работы в центрах разработчиков Flash Developer Center и Flex Developer Center.

Работа с примерами ActionScript 3.0 во Flash Professional

Используйте одну из следующих процедур (в зависимости от типа примера), чтобы выполнить пример кода с помощью Flash Professional.

Выполнение примера с фрагментом кода в Flash Professional

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

  1. Выберите команды «Файл» > «Создать».

  2. В диалоговом окне «Создать документ» выберите документ Flash и нажмите кнопку «ОК».

    После этого появится окно нового документа Flash.

  3. Щелкните первый кадр первого слоя на панели «Временная шкала».

  4. На панели «Действия» введите или вставьте фрагмент кода из примера.

  5. Выберите команды «Файл» > «Сохранить». Присвойте файлу имя и нажмите кнопку «ОК».

  6. Чтобы проверить пример, выберите пункт «Управление» > «Тестировать ролик».

Выполнение примера на базе класса в Flash Professional

Чтобы выполнить пример на базе класса в Flash Professional, выполните следующие действия.

  1. Выберите команды «Файл» > «Создать».

  2. В диалоговом окне «Новый документ» выберите «Файл ActionScript» и нажмите кнопку «ОК». После этого откроется окно редактора.

  3. Скопируйте код примера на базе класса и вставьте его в окно редактора.

    Если класс является основным классом документа для программы, он должен расширять класс MovieClip:

    import flash.display.MovieClip; 
    public class Example1 extends MovieClip{ 
    //... 
    }

    Также следует убедиться, что все классы, на которые имеются ссылки в примере, объявлены с использованием инструкций import.

  4. Выберите команды «Файл» > «Сохранить». Присвойте файлу имя, совпадающее с именем класса, использованного в примере (например, ContextMenuExample.as).
    Примечание. Некоторые примеры класса, например пример класса flashx.textLayout.container.ContainerController, имеют несколько уровней объявления пакета (package flashx.textLayout.container.examples {). В таком случае сохраните файл в подпапку, соответствующую объявлению пакета (flashx/textLayout/container/examples) или удалите имя пакета (код ActionScript должен начинаться с текста package { ), чтобы тестировать файл из любого расположения.
  5. Выберите команды «Файл» > «Создать».

  6. В диалоговом окне «Новый документ» выберите «Документ Flash (ActionScript 3.0)» и нажмите кнопку «ОК». После этого появится окно нового документа Flash.

  7. На панели «Свойства» в поле «Класс документа» введите названия класса, которое используется в примере и соответствует названию сохраненного ранее исходного файла ActionScript (например, ContextMenuExample).

  8. Выберите команды «Файл» > «Сохранить». Присвойте FLA-файлу имя, совпадающие с именем класса, использованного в примере (например, ContextMenuExample.as).

  9. Чтобы проверить пример, выберите пункт «Управление» > «Тестировать ролик».

Выполнение практического примера в Flash Professional

Практические примеры обычно предоставляются в виде архивных ZIP-файлов. Чтобы выполнить практический пример в Flash Professional, выполните следующие действия.

  1. Распакуйте архивный файл в любую папку на свой выбор.

  2. В инструменте Flash Professional выберите «Файл» > «Открыть».

  3. В окне обзора выберите папку, в которую распакован архивный файл. Выберите файл FLA в этой папке и нажмите кнопку «Открыть».

  4. Чтобы проверить пример, выберите пункт «Управление» > «Тестировать ролик».

Работа с примерами ActionScript 3.0 в Flash Builder

Используйте одну из следующих процедур (в зависимости от типа примера), чтобы выполнить пример кода с помощью Flash Builder.

Выполнение примера с фрагментом кода в Flash Builder

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

  1. Можно создать новый проект Flex (выберите «Файл» > «Создать» > «Проект Flex») или создать новое приложение MXML внутри существующего проекта Flex (выберите «Файл» > «Создать» > «Приложение MXML»). Присвойте проекту или программе описательное имя (например, ContextMenuExample).

  2. В созданном файле MXML добавьте тег <mx:Script>.

  3. Вставьте содержимое фрагмента кода между тегами <mx:Script> и </mx:Script>. Сохраните файл MXML.

  4. Чтобы выполнить код, откройте меню «Выполнить» и выберите команду «Выполнить» для основного файла MXML (например, «Выполнить» > «Выполнить ContextMenuExample»).

Выполнение примера на базе класса в Flash Builder

Чтобы выполнить пример на базе класса в Flash Builder, выполните следующие действия.

  1. Выберите команды «Файл» > «Создать» > «Проект ActionScript».

  2. Введите имя основного класса (например, ContextMenuExample) в поле «Имя проекта». Для остальных полей используйте значения по умолчанию (или измените их в соответствии с требованиями конкретной среды). Нажмите кнопку «Готово», чтобы создать проект и основной файл ActionScript.

  3. Удалите все созданное содержимое из файла ActionScript. Вставьте код примера, включая инструкции пакета и импорта, в файл ActionScript и сохраните его.

    Примечание. Некоторые примеры класса, например пример класса flashx.textLayout.container.ContainerController, имеют несколько уровней объявления пакета (package flashx.textLayout.container.examples {). В таком случае сохраните файл в подпапку, соответствующую объявлению пакета (flashx/textLayout/container/examples) или удалите имя пакета (код ActionScript должен начинаться с текста package { ), чтобы тестировать файл из любого расположения.
  4. Чтобы выполнить код, откройте меню «Выполнить» и выберите команду «Выполнить» для основного класса ActionScript (например, «Выполнить» > «Выполнить ContextMenuExample»).

Выполнение практического примера во Flash Builder

Практические примеры обычно предоставляются в виде архивных ZIP-файлов. Чтобы выполнить практический пример в Flash Builder, выполните следующие действия.

  1. Распакуйте архивный файл в любую папку на свой выбор. Присвойте папке описательное имя (например, ContextMenuExample).

  2. В Flash Builder выберите «Файл» > «Создать» > «Проект Flex». В области «Местоположение проекта» щелкните «Обзор» и выберите папку, содержащую файлы примера. В поле «Имя проекта» введите имя папки (например, ContextMenuExample). Для остальных полей используйте значения по умолчанию (или измените их в соответствии с требованиями конкретной среды). Нажмите «Далее», чтобы продолжить.

  3. На панели «Вывод» щелкните «Далее», чтобы принять значение по умолчанию.

  4. На панели путей к исходным файлам щелкните «Обзор» рядом с полем «Основной файл приложения». Выберите основной файл MXML примера из папки. Нажмите «Готово», чтобы создать файлы проекта.

  5. Чтобы выполнить код, откройте меню «Выполнить» и выберите команду «Выполнить» для основного файла MXML (например, «Выполнить» > «Выполнить ContextMenuExample»).

Работа с примерами ActionScript 3.0 на мобильных устройствах

Примеры кодов ActionScript 3.0 можно выполнять на мобильных устройствах, которые поддерживают Flash Player 10.1. Однако, как правило, код выполняется, чтобы проверить работу определенных классов и методов. В таком случае выполните пример на стационарном устройстве, например на персональном компьютере. На персональном компьютере можно использовать инструкции trace и другие инструменты отладки в Flash Professional или Flash Builder для лучшего понимания образца кода.

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

  1. Создайте SWF-файл, следуя инструкциям в разделе Работа с примерами ActionScript 3.0 во Flash Professional или Работа с примерами ActionScript 3.0 в Flash Builder. В Flash Professional SWF-файл создается при выборе «Управление» > «Тестировать ролик». В Flash Builder SWF-файл создается при выполнении, отладке или создании проекта Flash Builder.

  2. Скопируйте SWF-файл в каталог на мобильном устройстве. Используйте для этого программные средства устройства.

  3. В адресной строке браузера на мобильном устройстве введите URL с префиксом file:// для SWF-файла. Например введите file:://applications/myExample.swf.

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

  1. Создайте SWF-файл и HTML-файл. Сначала создайте SWF-файл, следуя инструкциям в разделе Работа с примерами ActionScript 3.0 во Flash Professional или Работа с примерами ActionScript 3.0 в Flash Builder. В Flash Professional при выборе «Управление» > «Тестировать ролик» создается только SWF-файл. Чтобы создать оба файла, сначала установите флажки Flash и HTML на вкладке «Форматы» в диалоговом окне «Параметры публикации». Затем выберите «Файл» > «Опубликовать», чтобы создать сразу оба файла: HTML и SWF. В Flash Builder при выполнении, отладке или создании проекта Flash Builder создаются сразу и SWF-файл и HTML-файл.

  2. Скопируйте SWF-файл и HTML-файл в каталог на веб-сервере.

  3. В адресной строке браузера на мобильном устройстве введите URL с префиксом http:// для HTML-файла. Например, введите http://www.myWebServer/examples/myExample.html.

Перед выполнением примера на мобильном устройстве просмотрите список потенциальных проблем.

Размер рабочей области

Размер используемой рабочей области при выполнении примеров на мобильном устройстве намного меньше, чем при работе на стационарном устройстве. Для многих примеров не требуется определенного размера рабочей области. При создании SWF-файла укажите размер рабочий области в соответствии с характеристиками используемого устройства. Например, укажите 176 x 208 пикселов.

Практические примеры в «Руководстве разработчика по ActionScript 3.0» предназначены для иллюстрации различных понятий и классов ActionScript 3.0. Реализованные в них интерфейсы предназначены для корректной работы и хорошей наглядности на персональном или портативном компьютере. Хотя примеры работают на мобильных устройствах, размер рабочей области и дизайн пользовательского интерфейса не походят для маленьких экранов. Adobe рекомендует выполнять практические примеры на компьютере с целью изучения ActionScript, а затем использовать соответствующие фрагменты кода в мобильных приложениях.

Текстовые поля вместо инструкций trace

При выполнении примера на мобильном устройстве нет возможности увидеть результаты использования инструкций trace в примере. Чтобы увидеть вывод, создайте экземпляр класса TextField. После этого добавьте текст из инструкций trace в свойство text текстового поля.

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

function createTracingTextField(x:Number, y:Number, 
                                width:Number, height:Number):TextField { 
           
    var tracingTF:TextField = new TextField(); 
    tracingTF.x = x; 
    tracingTF.y = y; 
    tracingTF.width = width; 
    tracingTF.height = height; 
     
    // A border lets you more easily see the area the text field covers. 
    tracingTF.border = true; 
    // Left justifying means that the right side of the text field is automatically 
    // resized if a line of text is wider than the width of the text field. 
    // The bottom is also automatically resized if the number of lines of text 
    // exceed the length of the text field. 
    tracingTF.autoSize = TextFieldAutoSize.LEFT; 
     
    // Use a text size that works well on the device. 
    var myFormat:TextFormat = new TextFormat(); 
    myFormat.size = 18; 
    tracingTF.defaultTextFormat = myFormat; 
     
    addChild(tracingTF); 
    return tracingTF; 
}

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

var traceField:TextField = createTracingTextField(10, 10, 150, 150); 
// Use the newline character "\n" to force the text to the next line. 
traceField.appendText("data to trace\n"); 
traceField.appendText("more data to trace\n"); 
// Use the following line to clear the text field. 
traceField.appendText("");

Метод appendText() принимает в качестве параметра только одно значение. Это значение является строкой (экземпляр String или строковый литерал). Для распечатки значения нестроковой переменной необходимо сначала преобразовать его в строку. Легче всего сделать это, вызвав метод объекта toString():

var albumYear:int = 1999; 
traceField.appendText("albumYear = "); 
traceField.appendText(albumYear.toString());

Размер шрифта

Во многих примерах используются текстовые поля для иллюстрации понятий. В некоторых случаях изменение размера шрифта в текстовом поле облегчает чтение на мобильном устройстве. Например, если в примере используется экземпляр TextField с именем myTextField, измените для него размер шрифта с помощью следующего кода.

// Use a text size that works well on the device. 
var myFormat:TextFormat = new TextFormat(); 
myFormat.size = 18; 
myTextField.defaultTextFormat = myFormat

Захват действий пользователя

Операционная система и браузер мобильного устройства захватывают некоторые события пользовательского ввода, на которые не реагирует SWF-содержимое. Поведение в каждом конкретном случае зависит от операционной системы и браузера, что может привести к неожиданному поведению примеров, выполняемых на мобильных устройствах. Дополнительные сведения см. в разделе «Приоритет событий KeyboardEvent».

Кроме того, во многих примерах пользовательские интерфейсы разработаны для персонального или портативного компьютера. Так, большинство практических примеров в «Руководстве разработчика по ActionScript 3.0» предназначены для просмотра на персональном компьютере. Поэтому в некоторых случаях вся рабочая не помещается на экране мобильного устройства. Возможность прокрутки содержимого в окне может поддерживаться не всеми браузерами. Более того, в примерах не предусмотрена обработка событий прокрутки и панорамирования. Поэтому в некоторых примерах пользовательский интерфейс не подходит для работы с маленьким экраном. Adobe рекомендует выполнять примеры на компьютере с целью изучения ActionScript, а затем использовать соответствующие фрагменты кода в мобильных приложениях.

Дополнительные сведения см. в разделе «Панорамирование и прокрутка экранных объектов».

Обработка фокуса

В некоторых примерах требуется перевести фокус в то или иное поле. Это может потребоваться, например, для ввода текста или выбора кнопки. Чтобы перевести фокус в поле, используйте указатель мобильного устройства, например перо или палец. Для перевода фокуса в поле также можно использовать клавиши навигации на мобильном устройстве. Чтобы нажать кнопку, которая находится в фокусе, используйте клавишу выбора на мобильном устройстве, выполняющую ту же функцию, что клавиша Enter на компьютере. На некоторых устройствах кнопку можно выбрать двойным нажатием.

Дополнительные сведения о фокусе см. в разделе «Управление фокусом».

Обработка событий мыши

Во многих примерах прослушиваются события мыши. На компьютере эти события происходят, например, когда пользователь наводит мышь на экранный объект или нажимает кнопку мыши над экранным объектом. На мобильных устройствах события использования указателя, такого как перо или пальца, называются событиями прикосновения. Flash Player 10.1 сопоставляет события прикосновения с соответствующими событиями мыши. Благодаря сопоставлению SWF-содержимое, разработанное до появления Flash Player 10.1 продолжает работать. Это обеспечивает правильную работы примеров при выделении или перетаскивании экранных объектов с помощью указателя.

Производительность

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

Дополнительные сведения о производительности на мобильных устройствах см. в разделе «Оптимизация производительности для платформы Flash Platform».

Передовой опыт

В примерах не учитываются оптимальные методы разработки приложения для мобильных устройств В ходе разработки необходимо учитывать ограничения оперативной памяти и процессора мобильных устройств. Подобным образом, при разработке пользовательского интерфейса для маленького экрана предъявляются не такие требования, как при создании приложения для монитора компьютера. Дополнительные сведения о разработке приложений для мобильных устройств см. в разделе «Оптимизация производительности для платформы Flash Platform».