Наследование в ActionScript и объектная модель языка



Описание, назначение и возможности технологии Adobe Flash.        Технология векторной трансформации применялась задолго до Flash. В 1986 году была выпущена программа Fantavision, которая использовала эту технологию. В 1991 году на этой технологии была выпущена игра Another World, а двумя годами позже — Flashback.     Разработка Flash была начата компанией FutureWave, создавшей пакет анимации FutureSplash Animator. В 1996 году FutureWave была приобретена компанией Macromedia, которая переименовала FutureSplash Animator в Flash. Под этим наименованием платформа продолжает развиваться и поныне (хотя после того, как в 2005 году компания Macromedia была поглощена Adobe, Macromedia Flash стал официально называться Adobe Flash).     Технологические особенности:     Рабочий файл: *.fla     Мультимедиа в формате: *.flv         Скомпилированный файл: *.swf         Визуальная среда оформления: Adobe Flash Player (CSS, HTML, JavaScript)         Платформенно-независимая среда запуска приложений: Adobe Integrated Runtime (AIR) (не завязана на основе технологии Flash).     Средства разработки: Adobe Flash Professional — для дизайнеров, пользователей с базовыми возможностями программирования; Adobe Flash Builder — для разработчиков, создающих серьёзные продукты.     Перспективы развития: 1 мая 2008 — компания Adobe объявила о начале проекта Open Screen Project, в рамках проекта: снимаются ограничения на SWF и FLV; открытый AIR для Adobe Flash Player; открыты протоколы Adobe Flash Cast и AMF.     Недостатки: большая нагрузка на CPU; низкая надёжность; проблемы с безопасностью; проблема индексации текста внутри ролика. Альтернативы: SilverLite (Microsoft); Java-апплеты и технология JavaFX; HTML5, SVG, JavaScript (AJAX).     В зависимости от цели создания чего либо во Flash существует следующее назначение технологии Adobe Flash: 1)Flash баннеры (оригинальный дизайн, качественную анимацию, небольшой вес, 15-25 кб; swf -> gif); 2)Flash сайты (промо-сайты, чат, галереи, сайт визитка, онлайн-портфолио, гостевые книги); 3)Flash презентации; 4)Flash игры; 5)Десктопные приложения на Flash.     В технологии Adobe Flash имеются следующие возможности: – создание линейной графики (аниматоры); – создание векторной графики (иллюстраторы); – ActionScript (программисты); – разработка Web-сайтов (профессиональные разработчики Web-сайтов). Лучше использовать Flash для создания рекламных Web-сайтов (быстро, просто, красочно).     Это основные возможности технологии Adobe Flash … $-) 2. Программное обеспечение для создания и просмотра проектов Adobe Flash.        ПО, используемое для создания и просмотра проектов Adobe Flash мной на практических занятиях: Adobe Flash Profession CS4 и CS5 (платное).     Есть и другое средство разработки: Adobe Flash Builder (платное) ранее (Adobe Flex Builder).     Программа для воспроизведения flash-контента — Adobe Flash Player.     Интерфейс Flash включает в себя множество окон, панелей и меню.     Основой интерфейса Flash является главное окно и его важнейший элемент – рабочее поле.     Область рабочего поля главного окна может содержать любой элемент вашего ролика: графический образ, кнопку или клип.     Изображение на рабочем поле главного окна, можно увеличить или сжать. Для этих целей предназначено всплывающее меню Scale (Масштаб), расположенное в левом нижнем углу главного окна, но для изменения масштаба намного удобнее пользоваться «горячими» клавишами. Так же полезными являются кнопки Show/Hide (Показать/Скрыть) и Lock/Unlock (Заблокировать/Разблокировать). Эти функции чрезвычайно полезны тем, что позволяют отобразить отдельные слои или определенный набор слоев. Блокировка слоев позволяет без труда выбирать нужный объект, не внеся при этом случайных изменений в другой слой.     Хотя главное окно программы Flash и является основным элементом, оно содержит очень мало информации о ролике и его частях. Детали отображаются в небольших окнах панелей управления. При запуске они появляются в правой и нижней частях главного окна, однако, затем их можно перемешать куда угодно. Эти панели могут быть приведены к любому виду. Панели находятся каждая в своем окне, но можно отобразить сразу несколько из них в одном окне в виде закладок.     Можно изменять состав окна панелей, а также создать новое окно. Это осуществляется перетаскиванием панелей за левую, помеченную характерной "дырчатой" текстурой, часть титульного поля панели. И всегда есть возможность вернуть исходные настройки.     Примеры: color (для «игры» с цветом); transform(позволяет изменять масштаб выделенного объекта и поворачивать его), properties (Свойства), палитра Library показывает, из каких элементов состоит ролик и т. д.     Меню: – File (Файл) — Open (Открыть), Save (Сохранить), Save As (Сохранить как) и т. п. – Edit (Правка) включает команды: Сору (Копировать), Cut (Вырезать) и Paste (Вставить). Команда Undo (Отменить) и т. д. – View (Вид). – Insert (Вставка) содержит две функции: Convert to Symbol (Преобразовать в символ) и Symbol Properties (Свойства символа). – Modify и Text. – Control (Управление) Test Movie (Пробное воспроизведение ролика). – Window (Окно) – Reference (Справка). 3. Отличительные особенности и назначение языка Action Script.        ActionScript — объектно-ориентированный язык программирования, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений. ActionScript исполняется виртуальной машиной (ActionScript Virtual Machine), которая является составной частью Flash Player. ActionScript компилируется в байткод, который включается в SWF-файл.     SWF-файлы исполняются Flash Player-ом. Flash Player существует в виде плагина к веб-браузеру, а также как самостоятельное исполняемое приложение. Во втором случае возможно создание исполняемых exe-файлов, когда swf-файл включается во Flash Player.     С помощью ActionScript можно создавать интерактивные мультимедиа-приложения, игры, веб-сайты и многое другое.     ActionScript как язык появился с выходом 5 версии Macromedia Flash, которая стала первой программируемой на ActionScript средой. Первый релиз языка назывался ActionScript 1.0. Flash 6 (MX). В 2004 году Macromedia представила новую версию ActionScript 2.0 вместе с выходом Flash 7 (MX 2004), в которой было введено строгое определение типов, основанное на классах программирование. То есть появились новые ключевые слова: – class (класс), – interface (интерфейс), – extends (установка наследования) – модификаторы доступа: private, public; и прочие.     Также Macromedia была выпущена модификация языка Flash Lite для программирования под мобильные телефоны.     ActionScript 1.0 является прототипным языком программирования. То есть он вполне реализует все три принципа объектно-ориентированного программирования.     ActionScript 2.0 является надстройкой над ActionScript 1.0. Проверка типов и работа с иерархией классов осуществляется во время компиляции, которая заканчивается генерацией байткода, аналогичного ActionScript 1.0.     В 2006 году вышел ActionScript 3.0 в среде программирования Adobe Flex, а позже в Adobe Flash 9.     ActionScript 3.0 представляет, по сравнению с ActionScript 2.0 качественное изменение, он использует новую виртуальную машину AVM 2.0 и даёт взамен прежнего формального синтаксиса классов настоящее классовое (class-based) Объектно-ориентированное программирование. ActionScript 3.0 обеспечивает возрастание производительности, по сравнению с ActionScript 1.0/2.0, до 700 раз (это лишь обработка инструкций, не затрагивая графику). ActionScript 3.0 позволяет работать с бинарными данными, с BitMap (что обеспечивает значительный прирост производительности: до 10000 раз). ActionScript 3.0 по скорости приблизился к таким языкам программирования, как Java и C#. Увеличение производительности основано на динамической трансляции кода (JIT). Такое увеличение производительности возможно лишь для некоторых типов данных и требует особой организации кода[2]. Объём кода, как правило увеличивается в несколько раз[3] (по сравнению с AS1) 4. Внедрение кода на языке Action Script к Flash-проекту. Пакет и класс. Класс — это абстрактное представление объекта. В классе хранится информация о типах данных, которые может содержать объект, и о его возможных видах поведения. Пример класса. Код должен сохраняться в отдельном .as файле и располагаться в одной папке с .fla исходником проекта. class com.example.Greeter extends MovieClip { public function Greeter() { } public function onLoad() :Void {    var txtHello:TextField = this.createTextField("txtHello", 0, 0, 0, 100, 100);    txtHello.text = "Hello, world"; } } ActionScript 3.0 (а точнее Flash Player 9 API — можно сказать, стандартная библиотека, написанная на C++) состоит из более чем 700 классов, организованных в следующие пакеты (аналоги пространств имён в C++): В исходном коде компилируемом Adobe Flex SDK (AS 3.0): package {   import flash.display.Sprite; import flash.text.TextField;   public class HelloWorld extends Sprite { public function HelloWorld() {    var txtHello:TextField = new TextField();    txtHello.text = "Hello, world";    addChild(txtHello); } } } 5. Поля, методы, свойства и их области видимости в Action Script.     Функции, определенные в объектах, известны в качестве методов. Вместе, свойства и методы являются членами объекта. Все «публично» доступные члены (те, к которым у вас имеется доступ) объекта представляют его интерфейс. Методы, уникальные для экземпляров MovieClip включают такие методы как gotoAndPlay() и gotoAndStop().     Примитивные значения, такие как Boolean (истина или ложь), Number (числовые значения) и String (текстовые символы), не являются объектами в их истинном понимании, так как они представляют базовые значения и не выступают в роли контейнеров для других значений. Тем не менее, Flash связывает эти примитивы с некоторыми видами объектов (Boolean, Number и String), или классов, которые наделяют их некоторой функциональностью, похожей на функциональность объектов. Таким образом, например, вы можете извлечь некоторую часть текста из примитива String, используя метод String.slice() класса String.     Классы являются тем, что определяют объекты. Они также выступают в роли типов объектов. Класс Array, например, определяет, какие свойства и методы существуют в экземплярах Array (чей тип – Array). При просмотре документации, доступной для массивов, вы просматриваете ссылку на класс Array.     Пакеты и пространства имен являются взаимосвязанными концепциями. Пакеты позволяют связывать определения классов вместе таким способом, что облегчается совместное использование кода и снижается вероятность конфликтов имен.     Пространства имен позволяют управлять видимостью идентификаторов, например именами свойств и методов, их можно применять к программному коду независимо от того, внутри или вне пакета он находится. Пакеты позволяют организовать файлы классов, а пространства имен позволяют управлять видимостью отдельных свойств и методов.

Наследование в ActionScript и объектная модель языка

Наследов. — форма повтор. Исп. кода, позволяющая разрабатыв. новые классы на основе существующих. Сущ. классы наз. базовыми (суперклассами), а новые — подклассами.Преимущества наследования:

-позволяет повторно исп код из базового класса, не изменяя первоисточник.

- не требуется изменять метод взаимодействия других классов с базовым.

Для обозначения класса, наследующего свойства и методы другого класса используется ключевое слово extends (расширяет).

Наследов. также позволяет использовать в коде преимущества полиморфизма. Полиморфизм— воз-сть исп-ть одно имя для метода, который ведет себя по-разному при применении к разным типам данных. Н. делает возможным полиморфизм, т. к. позволяет подклассам наследовать и переопределять (override) методы из базового класса.

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

Для каждого класса объектов определен свой набор атрибутов и методов. Конкретный объект - экземпляр соответствующего класса. 2 экземпляра одного и того же класса могут отличаться один от другого значениями атрибутов.

Для описания действий над объектами, а также для указания подчиненности объекта применяется так называемая «точечная нотация». Пример:Button_1. onPress().

О М, применяемая в ActionScript, во многом аналогична объектным моделям других сценарных языков (например, JavaScript). Основное различие в том, что в ActionScript иерархия объектов строится относительно Flash-плеера, а не относительно HTML-документа, отображаемого в окне Web-браузера.

Например, чтобы обратиться к клипу, непосредственно вставленному в кадр- основного фильма, можно записать: _root. Clip_l. слово _ root используется в качестве имени основного фильма. Если клип является частью другого, «родительского», клипа, то для указания его подчиненности может использоваться ключевое слово _parent.О М состоит из

-Movie (Объекты фильма);

 -Core (Объекты ядра);

- Client/Server (Объекты клиент-серверной среды исполнения);

- Authoring (Объекты среды разработки).

Объекты класса Movie позволяют представить в сценарии взаимоотношения между элементами фильма, а также управлять параметрами и поведением элементов фильма. К этому классу относятся, в частности, следующие объекты:

 Button (Кнопка) — объект, представляющий в сценарии кнопку;

 MovieClip (Клип) - объект, представляющий в сценарии клип;

 Mouse (Мышь) — объект, представляющий в сценарии указатель мыши;

 Key (Клавиатура) — объект, представляющий в сценарии клавиши

 Color (Цвет) — объект, представляющий в сценарии палитру клипа

 Sound (Звук) - объект, представляющий -в сценарии звуковой символ;

 Stage (Стол) — объект, предназначенный для управления некоторыми параметрами стола TextField (Текстовое поле) - объект, представляющ в сценарии динамич текстовое поле

 TextFormat (Формат текста) - объект, позволяющий управлять из сценария шрифтом

 Между объектами классов Button и MovieClip в ActionScript сложно определить отношения подчиненности: они могут изменяться от 1 фильма к 2 и от 1 сцены к 2. Например, i 1 сцене кнопка может входить в состав клипа, а в 2 — клип может исп-ся для «оживления» изоб-ия кнопки, остальные объекты класса можно считать подчинен.по отношению к объектам Button и MovieClip, поскольку могут входить в их состав, но не наоборот.


Дата добавления: 2018-08-06; просмотров: 281; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!