Руководство по actionscript. часть 6, стр. 108

3. Выбрав кадр 15 слоя scripts, введите следующий код на палитре Actions (Действия):

removeChi1d(1oadMsg);

Вот и все! Вы можете протестировать приложение sky. swf, выбрав команду меню Control > Test Movie (Управление > Проверка фильма). Находясь в режиме Text Movie (Проверка фильма), можно имитировать процесс загрузки SWF-файла, открыв палитру Bandwidth Profiler (Профайлер полосы пропускания) (команда меню View > Bandwidth Profiler (Вид > Профайлер полосы пропускания)) и выбрав команду меню View > Simulate Download (Вид > Имитировать загрузку). Поскольку наш класс Star имеет совсем небольшой размер, нужно установить очень низкую скорость загрузки (например, 200 байт в секунду), чтобы увидеть сообщение о предварительной загрузке. Чтобы изменить скорость загрузки, выберите команду меню View > Download Settings (Вид > Параметры загрузки).

Вы можете загрузить предыдущий пример файла sky. fla по адресу http://www. moock. org/eas3/examples.

При задании значения в поле Exports Classes in Frame (Экспортировать классы в кадре) примите во внимание, что:

? класс документа FLA-файла всегда экспортируется в кадре 1, независимо от значения, указанного в поле Exports Classes in Frame (Экспортировать классы в кадре);

? все классы, на которые ссылается класс документа или сценарий основной временной шкалы, экспортируются в кадре 1, независимо от значения, указанного в поле Exports Classes in Frame (Экспортировать классы в кадре);

? если установлен флажок Automatically declare stage instances (Автоматически объявлять экземпляры сцены) и сцена основной временной шкалы содержит именованные экземпляры символа, связанного с классом, то этот связанный класс будет экспортирован в кадре 1 (поскольку на этот класс ссылаются переменные, объявляемые автоматически для экземпляров на сцене).

Далее в программе: использование платформы разработки Flex

В этой главе были рассмотрены многие прикладные методики работы с кодом на языке ActionScript в среде разработки Flash. В следующей главе будет рассказано, как применять компоненты пользовательского интерфейса платформы разработки Flex в проекте приложения Flex Builder 2 на языке ActionScript. Затем из гл. 31 вы узнаете, как использовать готовый код совместно с другими разработчиками.

Руководство по actionscript. часть 6, стр. 109

Пни

Минимальное приложение

на языке MXML

В гл. 20 рассказывалось, что платформа разработки Flex включает развитый набор настраиваемых компонентов для создания пользовательских интерфейсов. Компоненты пользовательского интерфейса платформы разработки Flex обычно применяются в приложениях на языке MXML, но также могут применяться в приложениях, написанных в основном на языке ActionScript. Для тех читателей, которые не желают использовать язык MXML, в этой главе рассматривается абсолютный минимум шагов, необходимый для применения компонентов пользовательского интерфейса платформы разработки Flex в проекте приложения Flex Builder 2 с помощью минимально возможного количества инструкций языка MXML.

Во избежание недоразумений, эта глава не имеет ничего против языка MXML. В целом, язык MXML — это отличный инструмент для создания стандартизованных интерфейсов, развертываемых на платформе Flash. В этой главе просто рассматриваются ситуации, в которых либо макет приложения создается полностью программным путем, либо разработчик не имеет времени или желания изучать язык MXML.

Полную информацию о языке MXML и платформе разработки Flex можно найти в документации корпорации Adobe и книге « Programming Flex 2» (Kazoun and Lott, 2007) издательства O’Reilly.

Пользователи среды разработки Flash должны помнить, что приложение Flash CS3 включает собственный набор компонентов пользовательского интерфейса в пакете fl. Компоненты приложения Flash CS3 могут также быть использованы (как с технической точки зрения, так и с точки зрения допустимости) в программах на языке ActionScript, компилируемых с помощью приложения Flex Builder 2 или компилятора mxmlc.

Общий подход

Рассмотрим минимальный набор шагов, необходимых для создания приложения, которое использует компоненты пользовательского интерфейса платформы разработки Flex, на языке ActionScript.

1. В приложении Flex Builder 2 создайте проект Flex.

Руководство по actionscript. часть 6, стр. 110

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

3. В основном MXML-файле добавьте свойство события MXML, получающее уведомления о возникновении события FlexEvent. APPLICATION_COMPLETE

экземпляра класса Application верхнего уровня и в ответ вызывает статический метод, определенный на шаге 2. 4. В статическом методе, который был он редел cmi па шаге 2, создайте желаемые компоненты пользовательского интерфейса и добавьте их в экземпляр класса Application.

Перечисленные шаги подробно рассматриваются в следующих разделах.

Создание проекта Flex

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

1. В приложении Flex Builder 2 выберите команду меню File > New > Flex Project (Файл > Создать > Проект Flex).

2. В окне New Flex Project (Новый проект Flex) установите переключатель How will your Flex application access data? (Как ваше приложение Flex будет обращаться к данным?) в положение Basic (Основной) и затем нажмите кнопку Next (Далее).

3. В поле Project name (Имя проекта) введите желаемое имя проекта и нажмите кнопку Next (Далее).

4. В поле Main source folder (Основная папка исходных файлов) введите src.

Руководство по actionscript. часть 6, стр. 111

5. В поле Main application file (Основной файл приложения) введите желаемое имя файла с расширением MXML. Например, MinimalMXML. mxml.

6. Нажмите кнопку Finish (Готово).

В результате выполнения предыдущих шагов приложение Flex Builder 2 создаст новый проект, в пути библиотек которого будет автоматически включен файл framework. swc, содержащий компоненты пользовательского интерфейса.

После создания проекта мы добавим стартовую точку для приложения, как описано в следующем разделе.

Создание стартовой точки для приложения

Стартовая точка для нашего приложения представляет собой статический метод, определенный в пользовательском классе. В нашем примере мы назовем этот статический метод именем name ( ), а пользовательский класс — EntryClass. Метод main ( ) создает экземпляры компонентов пользовательского интерфейса и добавляет их в иерархию отображения экземпляра класса Application верхнего уровня. Экземпляр класса Application верхнего уровня создается автоматически, служит основой для всех приложений на языке MXML и предоставляет доступ к списку отображения. Обратиться к экземпляру класса Application верхнего уровня из нашей программы можно через статическую переменную application класса mx. core. Application.

В листинге 30.1 представлен код для класса EntryClass.

Листинг 30.1. Класс на языке ActionScript для минимального приложения MXML

package { import mx. controls.*; import mx. core.*;

public class EntryClass { // Стартовая точка для приложения public static function main ( ):void {

// Создаем компоненты пользовательского интерфейса // платформы разработки Flex. // Например:

var button:Button = new Button( ):

// Добавляем компоненты

// пользовательского интерфейса на экран.

Руководство по actionscript. часть 6, стр. 112

// Например:

var mxmlАрр:Application = Appli cati on(Appli cati on. appli cati on): mxmlApp. addChi1d(button);

}

}

}

Создав метод EntryClass. main( ), мы можем вызывать его в ответ на возникновение события FlexEvent. APPLICATION_COMPLETE экземпляра класса Application верхнего уровня, как описывается в следующем разделе.

Вызов стартовой точки для приложения

Ранее в подразд. «Создание проекта Flex» мы определили, что основным файлом приложения для нашего примера проекта является Minimal MXML. mxml. В итоге приложение Flex Builder 2 автоматически помещает в него следующий код:



layout=»absolute»>

Придется внести лишь одно незначительное изменение в приведенный код на языке MXML: мы должны добавить свойство события, которое вызывает метод EntryClass. main ( ) при получении экземпляром класса Application верхнего уровня уведомления о возникновении события FlexEvent. APPL I CATI ON_COMPLETE. Этот подход продемонстрирован в следующем коде (соответствующие изменения выделены полужирным шрифтом):





В результате выполнения предыдущего кода приложение, завершив процесс инициализации, автоматически вызовет метод EntryClass. main ( ), который, в свою очередь, создаст экземпляры желаемых компонентов пользовательского интерфейса (смотрите, никакого MXML!).

Руководство по actionscript. часть 6, стр. 113

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

Реальный пример применения компонентов пользовательского интерфейса

Чтобы увидеть, как применять код на языке ActionScript для создания н управления компонентами пользовательского интерфейса платформы разработки Flex, создадим простое приложение, которое содержит всего два экземпляра компонентов: экземпляр компонента Button и экземпляр компонента DataGrid. Приложение просто считает, сколько раз пользователь щелкнул кнопкой мыши на экземпляре компонента Button. Экземпляр компонента DataGrid отображает общее количество щелчков и интервал времени между ними.

Назовем основной файл MXML нашего приложения MinimalMXML. mxml, а класс, определяющий стартовую точку для нашего приложения, — Clickometer.

Рассмотрим код для файла MinimalMXML. mxml:



1ayout=»vertical» appl i cati onCompl ete=»CIickometer. main( )»>

В коде обратите внимание, что значение свойства события аррlicat ionComplete определяет метод (Clickometer. main ( ) ), который будет вызван после того, как приложение завершит процесс инициализации. Стоит также отметить, что приложение использует «вертикальную» схему размещения. Информацию по вариантам размещения можно найти в разделе, посвященном описанию переменной экземпляра layout класса Application, справочника по языку ActionScript корпорации Adobe.

Теперь рассмотрим код для класса С1 i с kome t е г, в котором создаются компоненты пользовательского интерфейса:

package { import mx. controls.*: import mx. core.*; import flash. events.*: import flash. utils.*:

public class Clickometer { private static var 1astClickTime:int = 0; private static var numClicks:int = 0: private static var grid:DataGrid: private static var button:Button:

// Точка входа программы

public static function main ( ):void {

// Создаем кнопку

button = new Button( );

button. label = «Click Quickly!»:

button. addEventLi stener(MouseEvent. CLICK, cli ckLi stener);

// Создаем таблицу данных grid = new DataGrid( ); grid. dataProvider = new Array( );

// Добавляем отображаемые элементы на экран. Переменная // Application. application ссылается на приложение Flex верхнего // уровня — основной контейнер для компонентов пользовательского // интерфейса и отображаемых элементов.

Руководство по actionscript. часть 6, стр. 114

Var mxmlАрр[Application = Appli cati on(Appli cati on. application); mxmlApp. addChi1d(button); mxmlApp. addChild(grid);

}

// Этот метод вызывается всякий раз, когда пользователь // нажимает кнопку

private static function clickListener (e:MouseEvent):void { var now:int = getTimer( ); var elapsed:int = now — 1astClickTime; lastClickTime = now: numClicks++:

grid. dataProvider. addItem({Clicks: numClicks. «Time (ms)»: elapsed}):

}

}

}

Приведенный пример приложения можно загрузить по адресу http://www. moock. org/eas3/examples.

Передача кода вашим друзьям

Итак, в этой книге осталась всего одна глава. Что же является последним основополагающим вопросом языка ActionScript? Совместное использование вашего гениального кода с другими программистами. Для совместного использования кода на языке ActionScript можно просто отправить этот особый код в виде одного или нескольких файлов ваших классов. Или, если вы более амбициозны, можете создать целую библиотеку классов (то есть группу классов) для включения в приложение на этапе компиляции или на этапе выполнения. В последней главе этой книги рассматриваются способы создания и распространения кода с использованием библиотек классов.

Руководство по actionscript. часть 7, стр. 001

ГЛАВА 31

Распространение библиотеки классов

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

*\

Ф Термин «библиотека классов» на жаргоне программистов обозначает произвольную

А щ группу классов, распространяемую среди команды разработчиков или по всему миру.

Щ Не путайте этот термин с библиотекой FLA-файла или палитрой Library (Библиотека)

среды разработки Flash. Эти термины относятся исключительно к среде разработки Flash и не являются частью текущего обсуждения.

Продолжение:

1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30

,31,32,33,34,35,36,37,38,39,40,41,42,43

Руководство по actionscript. часть 7, стр. 002

В ActionScript распространять библиотеку классов между другими разработчиками можно либо просто в виде набора исходных AS-файлов, либо в виде SWF-файла, либо в виде SWC-файла. В этой главе мы рассмотрим все три подхода. Стоит отметить, однако, что ActionScript предоставляет широкий набор возможностей по распространению библиотек классов; в этой главе описаны три конкретные ситуации, однако представленный материал не является исчерпывающим. Дополнительную информацию по распространению библиотек классов можно найти в следующих разделах документации корпорации Adobe:

? Programming ActionScript 3.0 > Flash Player APIs > Client System Environment > ApplicationDomain class (http.7/livedocs. macromedia. com/flex/201/html/18_Client_ System_Environment_175_4.html);

? Building and Deploying Flex 2 Applications > Building Flex Applications > Using Runtime Shared Libraries (http://livedocs. macromedia. com/flex/201/html/rsl_124_l. html).

Файлы примеров, которые будут рассматриваться в этой главе, доступны по адресу http://www. moock. org/eas3/examples.

Совместное использование исходных файлов классов

Начнем с простейшего способа распространения библиотеки классов: совместного использования исходных файлов классов.

Представьте, что вы работаете в небольшой компании Beaver Code, занимающейся разработкой веб-приложений и имеющей свой сайт http://www. beavercode. com. Вы создали класс com. beavercode. effects. TextAnimation, который реализует различные текстовые эффекты. Вы хотите использовать класс TextAnimation на двух других сайтах, над которыми работаете в настоящий момент, — Barky Pet Supplies и Mega Bridal Depot. Вместо того чтобы помещать копию файла класса (то есть файл TextAnimation. as) в папку каждого проекта, вы сохраняете этот файл класса в центральном хранилище и просто обращаетесь к нему из каждого проекта. Например, для сохранения файла TextAnimation. as в операционной системе Windows вы используете следующее местоположение: с: \data\ actionscript\com\beavercode\effects\TextAnimation. as. Чтобыкласс TextAnimation был доступен для обоих проектов, вы включаете директорию c:\data\actionscript в путь к классам каждого проекта (дополнительную информацию по пути к классам можно найти в гл. 7).

Руководство по actionscript. часть 7, стр. 003

Следуя той же логике, если бы ваша команда состояла из нескольких разработчиков, вы могли бы предположить, что удобно разместить классы на центральном сервере, при этом каждый разработчик мог бы воспользоваться ими, добавив папку сервера в путь к классам своих проектов. Например, вы могли бы сохранить все совместно используемые классы на сервере с именем codecentral: \\codecentral\com\ beavercode\ef fects\TextAnimation. as. Однако работать непосредственно с сервером крайне опасно и не рекомендуется.

Если вы сохраняете свои классы на центральном сервере и позволяете разработчикам непосредственно изменять их, то могут возникать ситуации, когда один разработчик перезаписывает изменения другого разработчика. Более того, если часы сервера и часы персонального компьютера программиста не синхронизированы, последняя версия класса может быть не включена в программу на этапе компиляции. Чтобы избежать подобных проблем, вы должны всегда использовать программное обеспечение для контроля версий, позволяющее управлять файлами ваших классов при работе в команде. Двумя популярными (и бесплатными!) вариантами такого программного обеспечения являются CVS (http://www. cvshome. org) и Subversion (http://subversion. tigris. org).

Кроме того, при работе с большими проектами вы также можете захотеть автоматизировать процесс экспорта SWF-файла, используя такой инструмент компиляции, как, например, Apache Ant (http://ant. apache. org).

Информацию об использовании инструмента Ant в приложении Flex Builder 2 можно найти в разделе Using Flex Builder 2 > Programming Flex Applications > Building Projects > Advanced build options > Customizing builds with Apache Ant (http://livedocs. macromedia. com/flex/201/html/build_044_12.html).

Автоматизация экспорта SWF-файла в среде разработки Flash заключается в выполнении консольного JSFL-сценария, который сообщает компилятору Flash о необходимости создания SWF-файла для каждого FLA-файла в вашем проекте. Исчерпывающее рассмотрение консольной компиляции в среде разработки Flash выходит за рамки этой книги, однако ниже представлен небольшой пример, который дает общее представление о содержимом этого сценария в операционной системе Windows:

// Код в файле exportPetSupplies. jsfl: /j ===============================

// Открываем FLA-файл.



Полезные ссылки
Случайные записи
  • 01.02.2013">Частные уроки вождения
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 069
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.37
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 036
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 106
  • 04.03.2012">YouTube будет транслировать балетные спектакли из Большого театра
  • 17.03.2011">Руководство по actionscript. часть 2, стр. 145
  • 29.02.2012">На сервисе микроблогов Futubra появился поиск
  • 27.07.2010">Визуальное оформление для навигации
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 028
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 051
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.15
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 088
  • 21.10.2011">Мегафон
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.155
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...