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

5. В поле Document class (Класс документа) палитры Properties (Свойства) (команда меню Window > Properties (Окно > Свойства)) введите Barkys.

6. Во вложенной папке Configuration\Components, находящейся внутри папки с установленной средой разработки Flash, создайте новую папку с именем BeaverCode. В Windows ХР местоположением вложенной папки Configuration\Components по умолчанию является С :\Program Files\Adobe\Adobe Flash CS3\ en\Configuration\Components. В Mac OS X местоположением вложенной папки Connguration\Components по умолчанию является Macintosh HD: Applications : Adobe Flash CS3 : Configuration: Components.

7. Скопируйте файл beavercore. swc, описанный в предыдущем разделе, в папку BeaverCode, которая создана на шаге 6. В результате копирования файла beavercore. swc в подпапку Configuration\Components на палитре Components (Компоненты) среды разработки Flash появится соответствующая запись.

8. В среде разработки Flash откройте палитру Components (Компоненты) (команда меню Window > Components (Окно > Компоненты)).

9. Откройте меню Options (Параметры) палитры Components (Компоненты), щелкнув кнопкой мыши на значке в правом верхнем углу палитры, и выберите команду Reload (Обновить). Папка BeaverCode появится на палитре Components (Компоненты).

10. На палитре Components (Компоненты) откройте папку BeaverCode. И. Откройте библиотеку файла barkys. fla (команда меню Window > Library (Окно > Библиотека)).

12. Перетащите компонент BeaverCore с палитры Components (Компоненты) в библиотеку файла barkys. fla.

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

13. Выберите команду меню Control > Test Movie (Управление > Проверка фильма).

В результате выполнения предыдущих шагов компилятор сгенерирует SWF-файл (Barkys. swf), включающий класс TextAnimation, и выполнит этот SWF-файл. В окне Output (Вывод) появятся следующие сообщения:

Imagine a text effect with great majesty. Effect now starting.

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

Распространение библиотеки классов в виде SWF-файла

При работе с несколькими SWF-файлами, которые используют один и тот же класс, компиляция этого класса в каждый SWF-файл будет приводить к потере пространства. Когда размер файла имеет существенное значение, мы можем избежать подобного дублирования, создав библиотеку классов в виде отдельного SWF-файла и загружая его на этапе выполнения. Как только библиотека будет загружена в первый раз, она окажется в кэше компьютера конечного пользователя и может быть использована другими SWF-файлами, не вызывая повторной загрузки.

Г*»1 1 Процесс создания и использования библиотеки классов в формате SWF гораздо сложнее

процесса использования библиотеки классов в формате SWC. Следовательно, вы должны Д?’* использовать такие библиотеки только в тех случаях, когда необходимо максимально уменьшить размер файла вашего приложения.

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

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

Создание библиотеки классов в формате SWF в приложении Flex Builder 2

Чтобы продемонстрировать процесс создания SWF-файла, содержащего библиотеку классов, в приложении Flex Builder 2, мы снова вернемся к примеру с библиотекой beavercore. Следующие шаги описывают, как создать библиотеку классов с именем beavercore. swf, содержащую единственный класс TextAnimation (предположим, что мы начинаем с нуля, хотя некоторые из перечисленных шагов повторяются из подразд. «Создание библиотеки классов в формате SWC в приложении Flex Builder 2» предыдущего раздела).

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

2. В поле Project name (Название проекта) окна New Flex Library Project (Новый проект библиотеки Flex) введите beavercore, после чего нажмите кнопку Next (Далее).

3. В поле Main source folder (Основная папка исходных файлов) введите src и нажмите кнопку Finish (Готово).

4. Выбрав в проекте beavercore папку src, выберите команду меню File > New > Folder (Файл > Создать > Папка). В поле Folder name (Имя папки) введите значение com. Повторите этот процесс, чтобы создать следующую структуру папок: src/сот/ beavercore/effects.

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

5. Выбрав в проекте beavercore папку effects, выберите команду меню File > New > ActionScript Class (Файл > Создать > Класс ActionScript).

6. В поле Name (Имя) окна New ActionScript Class (Новый класс ActionScript) введите TextAnimation, после чего нажмите кнопку Finish (Готово).

7. В файле TextAnimation. as введите следующий код:

package com. beavercore. effects { public class TextAnimation { public function TextAnimation ( ) { tracer Imagine a text effect with great majesty.»):

}

public function start ( ):void { traceC’Effect now starting.»):

}

}

}

В приложении Flex Builder 2 отсутствует возможность компиляции SWF-файла непосредственно из проекта библиотеки Flex. Таким образом, мы должны скомпилировать файл beavercore. swf с помощью консольного компилятора mxmlc. Чтобы скомпилировать наши классы в SWF-файл, мы должны создать для него основной класс. В этот основной класс мы поместим ссылки на классы (и другие определения), которые хотим включить в библиотеку классов. Следующие шаги описывают данный процесс для операционной системы Microsoft Windows.

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

Компиляция SWF-файла с помощью компилятора mxmlc. Указав папку src в проекте beavercore, выберите команду меню File > New > ActionScript Class (Файл > Создать > Класс ActionScript).

1. В поле Name (Имя) окна New ActionScript Class (Новый класс ActionScript) введите Main, после чего нажмите кнопку Finish (Готово).

2. В файле Main. as введите следующий код. В классе Main перечисляются имена всех классов (и определений), которые будут включены в библиотеку классов.

package { import com. beavercore. effects.*: import flash. display. Sprite:

public class Main extends Sprite { com. beavercore. effects. TextAni mati on;

}

}

3. Выбрав команду Пуск > Все программы > Стандартные > Командная строка, откройте командную строку операционной системы Windows.

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

4. Используя командную строку, перейдите в директорию С: \Program Files\ Adobe\Flex Builder 2\Flex SDK\bin, выполнив следующую команду (стоит отметить, что местоположение компилятора зависит от версии и операционной системы; дополнительные сведения можно найти в документации корпорации Adobe):

cd C:\Program Fi1es\Adobe\Flex Builder 2\Flex SDK 2\bin

5. В командной строке введите следующую команду, после чего нажмите клавишу Enter:

mxmlc nyTb_K_npoeKTy\src\Main. as — output nyrbj В результате выполнения предыдущих шагов приложение Flex Builder 2 сгенерирует файл beavercore. swf и поместит его в папку /bin/. Файл содержит нашу библиотеку классов, и теперь он может быть загружен и использован любым приложением на этапе выполнения. Тем не менее любому приложению, загружающему файл beavercore. swf, должен также предоставляться SWC-файл, используемый при проверке типов на этапе компиляции. Чтобы создать его, мы выбираем папку проекта beavercore на палитре Navigator (Навигатор), а затем выбираем команду меню Project > Build Project (Проект > Скомпилировать проект). В результате приложение Flex Builder 2 сгенерирует файл beavercore. swc и поместит его в папку /Ып/.

Использование библиотеки классов в формате SWF в приложении Flex Builder 2

Теперь, когда мы создали библиотеку классов в формате SWF (beavercore. swf), посмотрим, как использовать эту библиотеку в проекте.

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

Предположим, что мы используем приложение Flex Builder 2 для создания сайта компании Mega Bridal Depot (упомянутого ранее в этой главе) и хотим воспользоваться классом TextAnimation из библиотеки классов beavercore. swf. Сначала мы создаем проект ActionScript для сайта Mega Bridal Depot и включаем файл beavercore. swc в пути внешних библиотек. Затем на этапе выполнения мы загружаем библиотеку классов beavercore. swf.

Следующие шаги описывают процесс, который позволит создать проект ActionScript для сайта компании Mega Bridal Depot и включить файл beavercore. swc в пути внешних библиотек.

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

2. В поле Project name (Название проекта) окна New ActionScript Project (Новый проект ActionScript) введите beaver_megabridaldepot, после чего нажмите кнопку Next (Далее).

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

4. В поле Main application file (Основной файл приложения) введите название файла MegaBridalDepot.

5. На вкладке Library path (Пути библиотек) нажмите кнопку Add SWC (Добавить SWC).

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

6. Найдите и выберите файл beavercore. swc из предыдущего раздела, после чего нажмите кнопку Finish (Готово).

7. В списке Build path libraries (Пути библиотек для компиляции) выделите элемент Link Type: Merged into code (Тип связи: встроить в код), а затем нажмите кнопку Edit (Редактировать).

8. В списке Link Туре (Тип связи) окна Library Path Item Options (Свойства элемента пути библиотек) выберите значение External (Внешняя) и нажмите кнопку ОК.

9. В окне New ActionScript Project (Новый проект ActionScript) нажмите кнопку Finish (Готово).

В результате выполнения предыдущих шагов файл beavercore. swc будет добавлен в пути внешних библиотек проекта Mega Bridal Depot. По существу, классы и определения из файла beavercore. swc будут доступны для проверки типов на этапе компиляции, но не будут скомпилированы в приложение MegaBr idal Depot. swf. Вместо этого мы должны загружать эти классы на этапе выполнения.

Чтобы загрузить библиотеку классов beavercore. swf на этапе выполнения, мы используем метод экземпляра load ( ) класса Loader, рассмотренный в гл. 28. При загрузке файла beavercore. swf мы импортируем его в домен приложения MegaBridalDepot. swf, что позволяет обращаться к классам из файла beavercore. swf напрямую, будто они являются частью приложения. Стоит отметить, что обращаться к классам библиотеки beavercore. swfB приложении MegaBridalDepot. swf мы должны только после завершения операции загрузки (то есть после того, как возникнет событие Event. INIT для операции загрузки файла beavercore. swf).

Следующий код демонстрирует класс MegaBridalDepot, который загружает библиотеку классов beavercore. swf на этапе выполнения. Предполагается, что файл beavercore. swf был скопирован в ту же папку, где находится приложение MegaBridalDepot. swf.

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

Package { import flash. display.*: import flash. net.*; import flash. system.*; import flash. events.*;

i mport com. beavercore. effects. TextAni mati on;

public class MegaBridalDepot extends Sprite { public function MegaBridalDepot ( ) { var libLoader:Loader = new Loader( ); 1i bLoader. contentLoaderlnfo. addEventLi stener(

Event. INIT, initListener);

libLoader. load(

new URLRequest(«beavercore. swf»),

new LoaderContext(false, ApplicationDomain. currentDomain));

}

private function initListener (e:Event):void { var textAni:TextAnimation = new TextAnimation( )

textAni. start( );

}

}

}

Стоит отметить, что при использовании описанной операции libLoader. load ( ) необходимо проявлять осторожность, чтобы не загрузить классы библиотеки beavercore. swf в собственный домен приложения beavercore. swf, как показано в следующем коде:

// НЕПРАВИЛЬНО! Этот код загружает классы библиотеки beavercore. swf // в собственный домен приложения beavercore. swf. в качестве ребенка домена // приложения системы. В результате к классам библиотеки beavercore. swf // нельзя обращаться непосредственно из приложения MegaBridalDepot. swf. 1ibLoader.1oad(new URLRequest(«beavercore. swf»)):

Следующий код подобным образом по ошибке загружает классы библиотеки beavercore. swf в собственный домен приложения, но на этот раз в качестве ребенка домена приложения MegaBridalDepot. swf:

// НЕПРАВИЛЬНО! Классы загружаются в собственный домен приложения // beavercore. swf. На этот раз, хотя домен приложения beavercore. swf // и является ребенком родительского домена приложения MegaBridalDepot. swf, // код в приложении MegaBridalDepot. swf все равно не может обращаться // к классам в домене приложения beavercore. swf напрямую. Тот факт, что // домен приложения MegaBridalDepot. swf является родителем для домена // приложения beavercore. swf, просто указывает на использование приложением // beavercore. swf версии любых классов приложения MegaBridalDepot. swf, // которые определены в обоих файлах. 1ibLoader.1oad(new URLRequest(«beavercore. swf»), new LoaderContext(false,

new Appli cati onDomai n(Appli cati onDomai n. currentDomai n))):

Дополнительную информацию по доменам приложений можно найти в разделе Programming ActionScript 3.0 > Flash Player APIs > Client System Environment > Application Domain class документации корпорации Adobe.

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

Теперь, когда мы узнали, как создать и распространить библиотеку классов в виде SWF-файла в приложении Flex Builder 2, рассмотрим, как проделать то же самое в среде разработки Flash.

Создание библиотеки классов в формате SWF в среде разработки Flash

К счастью, процесс создания библиотеки классов в формате SWF в среде разработки Flash идентичен процессу создания библиотеки классов в формате SWC, который был рассмотрен ранее, в подразд. «Создание библиотеки классов в формате SWC в среде разработки Flash» предыдущего раздела. На самом деле в результате публикации SWC-файла создается SWC-файл, содержащий библиотеку классов, и SWF-файл, содержащий библиотеку классов. SWF-файл помещается в ту же папку, что и SWC-файл.

Например, при публикации нашей предыдущей библиотеки классов beavercore в виде SWC-файла среда разработки Flash также автоматически создала файл beavercore. swf. Как и SWC-файл, файл beavercore. swf был помещен в папку beavercore. Следующий раздел описывает, как в приложении использовать библиотеку классов beavercore. swf.

Использование библиотеки классов в формате SWF в приложении Flash CS3

Следующие шаги описывают процесс, который позволит использовать класс TextAnimation из библиотеки классов beavercore. swf на сайте компании Mega Bridal Depot.

1. Создайте новую папку с именем megabridaldepot в файловой системе. Папка будет содержать исходные файлы для сайта.



Полезные ссылки
Случайные записи
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 026
  • 21.03.2011">Руководство по actionscript. часть 2, стр. 035
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.68
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 130
  • 28.02.2011">Руководство по actionscript. часть 6, стр. 005
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.24
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.106
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 110
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 047
  • 14.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.78
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.73
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 071
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 152
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.49
  • 14.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.72
Опрос

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

View Results

Loading ... Loading ...