Flash
<<  Wininstall Macromedia Flash Flash-память  >>
"Инжиниринг ПО в инструментальной среде Flash Professional,
"Инжиниринг ПО в инструментальной среде Flash Professional,
Мультимедийный скриптовый язык ActionScript
Мультимедийный скриптовый язык ActionScript
Введение во Flash технологии
Введение во Flash технологии
Назначение ActionScript
Назначение ActionScript
Недостатки Flash-технологии
Недостатки Flash-технологии
Закрытость
Закрытость
Уязвимости
Уязвимости
Альтернативы
Альтернативы
Структура SWF-файла
Структура SWF-файла
Типы данных (примитивные и объектные)
Типы данных (примитивные и объектные)
Примитивные типы
Примитивные типы
Объектные типы
Объектные типы
"Наращивание" объекта
"Наращивание" объекта

Презентация: «Инжиниринг ПО в инструментальной среде Flash Professional, ActionScript». Автор: Арай. Файл: «Инжиниринг ПО в инструментальной среде Flash Professional, ActionScript.pptx». Размер zip-архива: 83 КБ.

Инжиниринг ПО в инструментальной среде Flash Professional, ActionScript

содержание презентации «Инжиниринг ПО в инструментальной среде Flash Professional, ActionScript.pptx»
СлайдТекст
1 "Инжиниринг ПО в инструментальной среде Flash Professional,

"Инжиниринг ПО в инструментальной среде Flash Professional,

ActionScript"

2 Мультимедийный скриптовый язык ActionScript

Мультимедийный скриптовый язык ActionScript

Происхождение ActionScript (скриптового языка Flash MX), стандарт ECMA-262 и его отношение к ActionScript. Сравнение ActionScript, JavaScript, Java и С++, рассматриваемых как алгоритмические языки. Примитивные типы данных как типы "только для чтения". Объектные типы данных. Подробный разбор поведения типа Number. Правила преобразования (конвертации) типов при выполнении операций. Способы получения подсказки по объектам встроенных типов. Операторы, стандартные для С-подобных языков. Специфические операторы, в том числе оператор строгого равенства (неравенства). Как операторы работают со строками. Таблица приоритетов операций. Особенности работы стандартных (для С-подобных языков) управляющих конструкций. Специфичные для Flash MX управляющие конструкции. Включение файлов, директива #include. Стражи включения. Методы отладки во Flash MX. ActionScript - объектно-ориентированный язык программирования, один из диалектов ECMAScript, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений. ActionScript исполняется виртуальной машиной (ActionScript Virtual Machine), которая является составной частью Flash Player. ActionScript компилируется в байт-код, который включается в SWF-файл. SWF-файлы исполняются Flash Player-ом. Flash Player существует в виде плагина к веб-браузеру, а также как самостоятельное исполняемое приложение (standalone). Во втором случае возможно создание исполняемых exe-файлов (projector), когда Flash Player включается в swf-файл. С помощью ActionScript можно создавать интерактивные мультимедиа-приложения, игры, веб-сайты и многое другое.

3 Введение во Flash технологии

Введение во Flash технологии

Flash-технологии, или, как их еще называют, технологии интерактивной веб-анимации, были разработаны компанией Macromedia и объединили в себе множество мощных технологических решений в области мультимедийного представления информации. Ориентация на векторную графику в качестве основного инструмента разработки flash-программ позволила реализовать все базовые элементы мультимедиа: движение, звук и интерактивность объектов. При этом размер получающихся программ минимален и результат их работы не зависит от разрешения экрана у пользователя - а это одни из основных требований, предъявляемых к интернет-проектам. По сути, Flash Player представляет собой виртуальную машину, на которой выполняется загруженный из Интернета код flash-программы. В основе анимации во Flash лежит векторный морфинг, то есть плавное «перетекание» одного ключевого кадра в другой. Это позволяет делать сложные мультипликационные сцены, задавая лишь несколько ключевых кадров. Производительность Flash Player при воспроизведении анимации в несколько раз превышает производительность виртуальной машины JavaScript в браузерах, поддерживающих предварительный стандарт HTML5, хотя во много раз уступает приложениям, работающим вообще без использования виртуальных машин. Flash использует язык программирования ActionScript, основанный на ECMAScript.

4 Назначение ActionScript

Назначение ActionScript

Применение средств ActionScript в системе Flash 5 — это не один из возможных путей, это единственный возможный путь. Если у вас возникает потребность в использовании какой-то инструкции ActionScript, это значит, что без этой инструкции вам просто не обойтись. Средства ActionScript всегда тесно переплетаются с анимацией Flash, создаваемой без применения возможностей этого языка. Как-то раз в рамках одного из проектов я нарисовал ползунок, который собирался использовать в фильме, созданном без помощи ActionScript. Но выяснилось, что работать с этим ползунком как с элементом управления без соответствующего сценария ActionScript невозможно, и я сдался. Пришлось написать отдельный сценарий, обеспечивающий применение ползунка в качестве элемента управления, и связать его с определенным кадром фильма. Сценарии ActionScript работают в составе стандартного фильма Flash 5, они неотделимы от неге. Средства ActionScript не дублируют и не подменяют собой стандартные возможности Flash. Наконец, некоторые задачи, допускающие «традиционное» решение с помощью встроенных средств Flash 5, можно решить намного легче и эффективнее, если использовать ActionScript. Скажем, в большинстве фильмов Flash присутствует такая трудоемкая и важная подзадача, как кадрирование — прорисовка промежуточных кадров при трансформации какого-либо объекта. Во многих случаях при этом необходима точная настройка определенных параметров движущегося объекта. Изменить значение переменной, свойства или объекта ActionScript в этом случае намного проще, чем вручную прорисовать все промежуточные кадры. Есть дизайнеры, которые не могут понять, каким образом их коллегам удается реализовать на Flash-сайтах сногсшибательную анимацию, прокрутку текста и великолепный интерактивный пользовательский интерфейс. Все дело здесь в хорошем дизайне и грамотном применении усовершенствованных средств ActionScript. Поскольку клиенты все чаще требуют, чтобы их сайты были «живыми» и симпатичными, а за счет этого — часто посещаемыми и в конечном счете конкурентоспособными, ActionScript играет в Web все более важную роль. Еще одно важное достоинство этого языка — наличие в нем средств обеспечения связи с серверными приложениями. Компании Macromedia удалось создать язык, который, будучи легким в освоении и применении, вместе с тем обладает возможностями, удовлетворяющими всем требованиям дизайнеров, и располагает средствами организации интерактивного интерфейса.

5 Недостатки Flash-технологии

Недостатки Flash-технологии

Основной недостаток flash-приложений — чрезмерная нагрузка на центральный процессор, связанная с неэффективностью виртуальной машины Flash Player. Хотя следует отметить, что в некоторых случаях имеет место и недостаточная оптимизация flash-приложений их разработчиками, использование так называемых «генераторов» flash-приложений. Второй важный недостаток flash-приложений заключается в недостаточном контроле ошибок, что приводит к частым отказам как самих приложений, так, в некоторых случаях, и всего браузера. Возможность flash-приложений нарушать работу всего браузера неоднократно вызывала критику со стороны разработчиков браузеров. Ещё один недостаток, характерный для всех виртуальных машин, заключается в том, что не всегда есть возможность запустить flash-приложение, либо это связано с некоторыми трудностями. Например, некоторые пользователи или администраторы отключают в настройках браузеров flash-контент, что связано с экономией системных ресурсов, избавлением от надоевшей рекламы и информационной безопасностью (например, была обнаружена угроза перехвата flash-приложением содержимого буфера обмена). Этот недостаток делает технологию Flash менее универсальной и ограничивает её применение в веб-приложениях критической важности. Четвёртый важный недостаток заключается в том, что использование Flash для размещения текстовой информации затрудняет её индексирование поисковыми системами. И хотя в принципе определённая система индексирования текста внутри swf-файлов была создана и внедрена Google и Yahoo! ещё в 2008 году, но доля сайтов, целиком созданных на Flash, остаётся небольшой.

6 Закрытость

Закрытость

Спецификация SWF версии 4 была открыта, но описания последующих версий продавались только с подпиской о неразглашении, и их было запрещено использовать для создания проигрывателей Flash. В мае 2008 года Adobe Systems объявила об открытии спецификаций SWF и видео контейнера FLV для использования на значительно более мягких условиях, как часть проекта «Open Screen Project», ориентированного на создание общей среды Flash на всех устройствах. Рэй Вальдес (Ray Valdes) из Gartner, Inc. (англ.)русск. считает одной из причин открытия спецификаций конкуренцию со стороны Silverlight, однако представитель Adobe Дэйв МакАллистер (Dave McAllister) заявил, что это не так. Однако запатентованные кодеки, используемые в FLV, принадлежат не Adobe, а скачанную спецификацию, в которой нет, например, описания протокола RTMP (20 января 2009 Adobe объявила, что опубликует его в первой половине 2009), нельзя распространять и переводить. Flash Player остаётся проприетарным, хотя Adobe обещала сделать использование его на мобильных платформах бесплатным. Осенью 2011 года, компания Adobe заявила о прекращении поддержки мобильных платформ. Разработчик свободного декодера Swfdec Бенджамин Отте (Benjamin Otte) написал, что в открытой спецификации нет ничего, чего бы ещё не было известно благодаря обратной разработке, хотя официальная спецификация может быть понятнее для новичков и полезна при возникновении вопросов о легальности библиотеки. О том же говорят и разработчики Gnash. Они также считают возможной причиной этого частичного открытия спецификаций успехи свободных декодеров SWF и конкурирующего проприетарного формата Silverlight.

7 Уязвимости

Уязвимости

В реализациях Adobe Flash время от времени находят «дыры», позволяющие злоумышленникам производить разнообразные действия с системой. Так, например, в октябре 2008 года была найдена уязвимость, позволяющая удалённо контролировать веб-камеру и микрофон.

8 Альтернативы

Альтернативы

Прямым конкурентом Flash является технология Silverlight от Microsoft. Технология Java-апплетов также является альтернативой Flash в веб-приложениях, но значительно уступает в надёжности и простоте создания графики и анимации. В браузерах отдельные части Flash могут быть заменены посредством HTML5, JavaScript (и AJAX), SVG.

9 Структура SWF-файла

Структура SWF-файла

Когда мы говорим Flash, то можем подразумевать совершенно разные вещи даже в рамках терминов web-технологии. Чтобы не было путаницы, будем использовать: Flash – технология web-анимации в целом; Flash player – программа, библиотека ActiveX которая выполняет отображение flash; Standalone Flash player – приложение (exe-файл), отображающее flash; Flash IDE, Adobe Flash, Flash Professional – среда разработки, предоставляемая фирмой Adobe (ранее Macromedia); FLA – проектный файл (исходный) анимации для Flash IDE; Movie, мувик – цельная сущность web-анимации на этапе разработки; SWF – непосредственно конечный файл анимации.

10 Типы данных (примитивные и объектные)

Типы данных (примитивные и объектные)

Изучая любой язык программирования, желательно в первую очередь разобраться, какими типами данных он оперирует. Несмотря на то что ActionScript (в отличие от ActionScript 2) не имеет проверки типов, сами типы данных (в случае надобности, автоматически преобразовывающиеся друг в друга) в нем существуют. Сначала мы рассмотрим эти типы, выражения, которые можно из объектов этих типов составлять и переменные, в которые результаты выполнения выражений можно записывать. В С++ провести разделение между типами можно, задав вопрос, применим ли к объектам данного типа оператор "точка". Храниться же могут как объекты, так и данные примитивных типов, в одних и тех же областях памяти: в стеке, в статической памяти, в куче. В Java разделение по применимости оператора "точка" тоже присутствует, однако есть и еще одна важная вещь. Объекты хранятся в отдельном месте, переменная объектного типа не содержит объект, это лишь ссылка на него. Примитивные же типы хранятся прямо в недрах объектов, так что переменная примитивного типа представляет собой именно хранилище соответствующих данных, а не ссылку. Во Флэше все обстоит по-другому. Не так, как в С++, но и не так, как в Java. То есть оператор "точка" применим также и к примитивным типам. А где же хранятся реальные данные примитивных типов? Можно заглянуть в стандарт и все узнать... но нас такая информация волновать не должна. Потому что есть весьма удобная точка зрения на примитивные типы, дающая ответ на все практические вопросы.

11 Примитивные типы

Примитивные типы

Общеупотребительных примитивных типов не так много: это String, Number и Boolean. (Эти же типы могут быть не только примитивными, но и объектными - говоря иначе, объекты String, Number и Boolean не обязаны быть read-only). Как создать объект примитивного типа? (Да, не очень-то это хорошо звучит - "объект примитивного типа" - но в данном случае все так и есть. Примитивный во Флэш значит - read-only). Сделать это можно либо напрямую указав значение в тексте программы, либо вычислив какое-либо выражение, значение которого имеет тип String, Number или Boolean. Естественное исключение из указанного выше правила - вызов методов каких-либо объектов. Эти методы могут вернуть ссылку на объектный String, Number или Boolean. Однако, если вы вызываете методы встроенных объектов Флэш - можете не беспокоиться, во всех случаях, когда возвращаемый тип бывает примитивным, возвращается именно примитивное значение. Еще одно исключение - использование оператора eval, с которым мы познакомимся позднее.

12 Объектные типы

Объектные типы

Объекты во Флэш МХ и похожи, и непохожи на объекты в Java. Общим свойством является то, что все объекты во Флэш доступны только по ссылке. Таким образом, создавая объект любым способом, мы получаем доступ лишь к ссылке на него. Сам объект хранится отдельно и напрямую недоступен. Например, мы пишем a = new Object(); Теперь в а хранится ссылка на этот объект. Если вы специалист в С++, но не знаете Java, то обратите внимание, что оператор new вернул не указатель (в Java нет указателей), а ссылку. И к полю по имени i объекта a можно обратиться как обычно, через точку: a.i = 5; Правда, мы не предпринимали никаких усилий для того, чтобы создать в объекте a поле i. Но во Флэше это необязательно! Как мы увидим далее, поле создастся в таком случае автоматически (что очень плохо для отладки, но хорошо для расширения возможностей Флэш МХ). Кстати, поле i в объекте а теперь является ссылкой на read-only объект, представляющий собой число 5. Кроме ссылок, в объектах Флэш не хранится ничего. Даже методы - и те являются ссылками на объекты-функции (подробнее об этом - далее). Сами же объекты хранятся отдельно и иначе как через ссылки нам недоступны. А объекты, на которые никто не ссылается, удаляет сборщик мусора. Детали работы этого сборщика остаются тайной. И подстегнуть его работу вручную, как это делается в Java, во Флэше, к сожалению, нельзя.

13 "Наращивание" объекта

"Наращивание" объекта

Мы сказали, что объект Флэш МХ можно представлять себе как хэш-таблицу. Но хэш-таблица тем и ценна, что можно в нее записывать новые данные. А значит, мы можем создать в объекте новую переменную в любой момент. Есть разные способы создать в объекте новую переменную. Можно так: a.x = 5;. Даже если в объекте а не было переменной х, теперь она будет существовать. (Но если мы просто обратимся к несуществующей переменной, например вот так: trace(a.y), то получим результат undefined. Новая переменная при этом не создается.) Можно также создать новую переменную с именем, заданным в строке. Для этого есть два способа: set("a." + name, 5); и a[name] = 5;. (При создании переменной ей обязательно надо присвоить какое-нибудь значение. Мы в качестве этого значения берем число 5, а можно было бы взять, например, null. Впрочем, создавать поля заранее у объектов Флэш МХ, как вы видите, особого смысла нет. Так что создавайте переменные в тот момент, когда они понадобятся, и присваивайте им именно те значения, которые вам нужны.) Подробнее о способах создания переменных мы еще поговорим. А пока скажем только, что в большинстве случаев второй способ удобнее, хотя он и не является документированным. Как бы то ни было, использование этой экономной записи с квадратными скобками уже практически стало стандартом. Если же вы в какой-то момент решите, что создали в объекте поля, которые больше там не нужны, - к вашим услугам оператор delete, удаляющий ненужное поле. Причем этому оператору можно передать как ссылку на само поле, так и его строковое имя. То есть в предыдущем примере мы могли написать и вот так: delete "a.g";. Такое поведение характерно для многих встроенных операторов и функций Флэш МХ. Но вот запись name = "a.g"; delete name; удалит, разумеется, только поле name того клипа, в кадре которого мы пишем код.

«Инжиниринг ПО в инструментальной среде Flash Professional, ActionScript»
http://900igr.net/prezentacija/informatika/inzhiniring-po-v-instrumentalnoj-srede-flash-professional-actionscript-119956.html
cсылка на страницу
Урок

Информатика

130 тем
Слайды
900igr.net > Презентации по информатике > Flash > Инжиниринг ПО в инструментальной среде Flash Professional, ActionScript