ActionScript

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск

ActionScript — объектно-ориентированный язык программирования, один из диалектов EcmaScript, который добавляет интерактивность, обработку данных и многое другое в содержимое 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 является прототипным ООП (prototype-based). То есть он вполне реализует все три принципа объектно-ориентированного программирования.

ActionScript 2.0 является не более чем надстройкой над ActionScript 1.0, то есть на этапе компиляции компилятор осуществляет некую проверку и превращает классы, методы ActionScript 2.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#.

[править] Примеры

В среде Adobe Flash в окне для скрипта (AS 2.0) введите:

trace("Hello world!");

[править] Синтаксис

Синтаксис ActionScript основан на спецификации ECMAScript. ActionScript 3.0 (а точнее Flash Player 9 API — можно сказать стандартная библиотека написанная на C++) состоит из более чем 700 классов, организованных в следующие пакеты (packages, аналог namespaces в C++):

Пакет Описание
flash.accessibility The flash.accessibility содержит классы для поддержки доступа в Flash контента и приложений.
flash.display Пакет flash.display содержит основные классы, которые Flash Player использует для построения фильма.
flash.errors Пакет flash.errors содержит набор часто используемых классов обработки ошибок.
flash.events Пакет flash.events поддерживает новую модель событий DOM и включает в себя базовый класс EventDispatcher.
flash.external Пакет flash.external содержит класс ExternalInterface, который используется для связи с контейнером Flash Player'а.
flash.filters Пакет flash.filters содержит классы для работы с фильтрами растровых картинок.
flash.geom Пакет flash.geom содержит классы для работы с геометрическими классами, такими как точки, прямоугольники и матрицы трансформации, для поддержки класса BitmapData и возможности кеширования изображений.
flash.media Пакет flash.media содержит классы для работы с мультимедиа, например звуками и видео.
flash.net Пакет flash.net содержит классы для отправки и получения данных по сети. Например запросы URL и Flash Remoting.
flash.printing Пакет flash.printing содержит классы для вывода на печать содержимого Flash-фильма.
flash.profiler Пакет flash.profiler содержит функции, используемые для отладки и профилирования кода.
flash.system The flash.system содержит классы для доступа к системе на уровне функциональности, такие как безопасность, многоязычного содержания и т. д.
flash.text Пакет flash.text содержит классы для работы с текстом, его форматированием, размером, стилем и расположением.
flash.ui Пакет flash.ui содержит классы пользовательского интерфейса, такие как классы для работы с мышью и клавиатурой.
flash.utils The flash.utils утилита содержит классы, такие как структуры данных, как ByteArray.
flash.xml Пакет flash.xml обеспечивает поддержку XML, и все функции для работы с XML.

а также mx.* пакеты, которые состоят из классов, предназначенных для управления компонентами, с помощью которых создаётся интерфейс приложения.

[править] Ссылки