Работа с примерами ActionScript 3.0 на мобильных устройствахПримеры кодов ActionScript 3.0 можно выполнять на мобильных устройствах, которые поддерживают Flash Player 10.1. Однако, как правило, код выполняется, чтобы проверить работу определенных классов и методов. В таком случае выполните пример на стационарном устройстве, например на персональном компьютере. На персональном компьютере можно использовать инструкции trace и другие инструменты отладки в Flash Professional или Flash Builder для лучшего понимания образца кода. Если все же требуется выполнить пример на мобильном устройстве, можно скопировать файл на устройство или на веб-сервер. Чтобы скопировать файлы на устройство и выполнить код в браузере, выполните следующие действия.
Чтобы скопировать файлы на веб-сервер и выполнить код в браузере устройства, выполните следующие действия.
Размер рабочей областиРазмер используемой рабочей области при выполнении примеров на мобильном устройстве намного меньше, чем при работе на стационарном устройстве. Для многих примеров не требуется определенного размера рабочей области. При создании 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». |
|