ActionScript

ActionScript
ActionScript
Farm-Fresh page white actionscript.png
Класс языка:

Объектно-ориентированный, Императивный, скриптовый

Появился в:

1998

Автор(ы):

Гари Гроссман

Релиз:

3.0

Типизация данных:

строгая, статическая

Основные реализации:

Adobe Flash, Adobe Flex

Испытал влияние:

JavaScript, Java

ActionScript
Расширение

.as

MIME

application/ecmascript[1]

ActionScript — объектно-ориентированный язык программирования, один из диалектов ECMAScript, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений. ActionScript исполняется виртуальной машиной (ActionScript Virtual Machine), которая является составной частью Flash Player. ActionScript компилируется в байт-код, который включается в SWF-файл.

SWF-файлы исполняются Flash Player-ом. Flash Player существует в виде плагина к веб-браузеру, а также как самостоятельное исполняемое приложение (standalone). Во втором случае возможно создание исполняемых exe-файлов (projector), когда Flash Player включается в swf-файл.

С помощью 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)

Версии плеера Нововведения
2

Появились «действия», в дальнейшем известные как:

  • gotoAndStop();
  • gotoAndPlay();
  • nextFrame();
  • prevFrame();
  • getURL();
3 Появление loadMovie();
4 Первая версия с полной поддержкой скриптовой имплементации.
5 Появление первой версии ActionScript. Использовалось прототипное программирование на базе ECMAScript и предоставлена полная поддержка процедурного и объектно-ориентированного программирования.
6
  • Добавлена событийная модель
  • switch
  • Появилась поддержка AMF и RTMP протоколов.
7
  • Появление AS2, базирующигося на ECMAScript 4 с классо-базированным программированием.
  • Добавлена поддержка CSS для текста.
8
  • Появление новых правил безопасности.
  • Добавление фильтра AS1/AS2.
  • Появление класса, для просмотра Bitmap Data в реальном времени.
9
  • Новый скриптовый движок ECMAScript, ActionScript Virtual Machine AVM2. AVM сохранён для совместимости, добавлена поддержка ActionScript 3 через AVM2.
  • Появление расширения E4X для XML.
10
  • 3D-эффекты
  • Различные фильтры и эффекты
  • Расширенная схема размещения текста
  • Улучшено API Рисования
10.2
  • улучшена поддержка p2p, Добавлено шумоподавление.
11
  • Появление низкоуровнего API для работы с графикой, USB-устройствами
  • 3D Акселерация
Поддержка версий ActionScript:
Не поддерживается AS1 AS1, AS2 AS1, AS2, AS3

Синтаксис

Синтаксис ActionScript основан на спецификации ECMAScript.

ActionScript 2.0

Данный код создает новое текстовое поле, на глубине(depth) 0, в точке (0, 0) и размером 100 на 100 пикселей. Параметр text равен строчке «Hello, world». Код должен быть записан в окне action — frame

createTextField("greet", 0, 0, 0, 100, 100);
greet.text = "Hello, world";

Пример класса, написанного на AS2. Код должен сохраняться в отдельном .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

В исходном коде компилируемом 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);
    }
}
}

MXML

Код, написанный на MXML (расширение XML):

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" layout="vertical"
creationComplete="initApp()">
 
    <mx:Script>
        <![CDATA[
            public function initApp():void
            {
                // Prints our "Hello, world!" message into "mainTxt".
                mainTxt.text = Greeter.sayHello();
            }
        ]]>
    </mx:Script>
 
    <mx:Label id="title" fontSize="24" fontStyle="bold" text='"Hello, world!" Example'/>
    <mx:TextArea id="mainTxt" width="250"/>
 
</mx:Application>

Отладчик

Пример работы отладчика. Выводит на экран output любые данные, которые возможно преобразовать в String (AS2 и далее):

trace("Hello world!");

Структура

ActionScript 2

Элементарные типы данных

Тип Описание
String Строчка, массив символов, например: «Hello World»
Number Любое числовое значение, например: 0, 0.5, 1150
Boolean Логическая величина, может принимать значения «true» или «false».
Object Объект. Примером объекта являются классы, методы, функции, параметры…

Сложные типы данных

Тип Описание
MovieClip Графический объект, содержащий кадры.
TextField Динамическое или вводимое текстовое поле.
Button Кнопка. Является по сути Movie Clip с предопределенным поведением. Состоит из 4 кадров: Up, Over, Down и Hit.
Date Объект, содержащий сведения о дате/времени.
Array Массив данных.
XML XML-объект
XMLNode XML-node
LoadVars Служит для отправки и приема переменных при помощи HTTP POST и HTTP GET
Sound Содержит звуковые данные .MP3 формата
NetStream Содержит звуковые данные других форматов
NetConnection Позволяет взаимодействовать 2 flash-роликам в одной области видимости (например на рабочем столе, или в одной вкладке браузера)
MovieClipLoader Класс для подзагрузки swf роликов и .jpg .png изображений
EventListener Обработчик событий

ActionScript 3

Элементарные типы данных

(см. документацию Adobe)

Тип Описание
Boolean Логическая величина, может принимать значения «true» или «false».
int целочисленное 32-битное числовое значение в диапазоне от −231 до 231−1.
uint целочисленное 32-битное числовое значение в диапазоне от 0 до 232−1.
Number дробное 64-битное числовое значение в диапазоне от −263 до 263−1.
null ноль. Ссылка на пустоту.
String Строчка из 16-битных символов. Используется кодировка UTF-16.
void тип данных с одним значением — undefined. Используется, если программист хочет указать тип функции как «невозвращаемый».

Сложные типы данных

(см. документацию Adobe)

Тип Описание
Object Объект. Ключевой класс ООП. Является основой всех классов AS3.
Array Массив данных нестрогой типизации. Может принимать любые значения, например: ['a', 5, new TextField()]
Vector Массив данных строгой типизации. Например массив Vector.<String> может содержать только строковые данные ['a','b',' ']
Date Класс, содержащий сведения о дате/времени.
Error Класс, содержащий ошибки.
Function Основной класс. Примером является любой метод AS3.
RegExp Регулярные выражения
XML XML-объект, базирующийся на E4X (стандарт ECMA-357)
XMLList Array-базирущийся объект для поиска контента в XML-классе.

Пакеты

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

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

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

Популярные среды

  • Adobe Flash — Исторически первая среда, поддерживающая AS. Начиная с Flash 5 появилась панель «ACTIONS», с возможностью редактирования кода (AS1). Для Flash 6 был создан AS2. Начиная с Flash 9 появилась поддержка AS3.
  • Adobe Flash Builder — Среда разработки для создания RIA приложений для настольного компьютера и мобильных устройств.
  • Powerflasher FDT — Среда, признанная опытными флеш-программистами, базируется на eclipse — свободной интегрированной среде разработки модульных кроссплатформенных приложений.
  • FlashDevelop — свободная среда разработки и редактор, написанный на C#, позволяющий создавать Flash-приложения при помощи Flash IDE, Flex SDK, MTASC или haxe.
  • CodeDrive — Среда разработки и редактор, с довольно быстрым компилятором, основана на Microsoft Visual Studio.
  • SWFTools — Свободный пакет для работы с swf-файлами, пакет включает компилятор ActionScript 3.0 (as3compile) .

Примечания

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "ActionScript" в других словарях:

  • ActionScript — Apparu en 1998 Auteur Gary Grossman Développeur Macromedia (maintenant Adobe Systems) Derni …   Wikipédia en Français

  • Actionscript — est le langage de programmation utilisé au sein d applications clientes (Adobe Flash, Adobe Flex) et serveur (Flash media server, JRun, Macromedia Generator). ActionScript est un langage de script, orienté objet et prototype, basé sur ECMAScript… …   Wikipédia en Français

  • ActionScript — Basisdaten Paradigmen: objektorientiert Designer: Gary Grossman Entwickler …   Deutsch Wikipedia

  • Actionscript — (kurz: AS) ist eine Programmiersprache des US amerikanischen Softwareunternehmens Adobe Systems auf Basis des ECMAScript Standards (ECMA 262) und kann in einer Reihe von Adobe Produkten eingesetzt werden, so zum Beispiel Adobe Flash, Flex und Air …   Deutsch Wikipedia

  • ActionScript 3 — Saltar a navegación, búsqueda ActionScript Obtenido de ActionScript 3 …   Wikipedia Español

  • ActionScript — Объектно ориентированный язык программирования, один из диалектов ECMAScript, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash приложений. ActionScript исполняется виртуальной машиной (ActionScript Virtual… …   Словарь бизнес-терминов

  • ActionScript — es un lenguaje de programación orientado a objetos (OOP), utilizado en especial en aplicaciones web animadas realizadas en el entorno Macromedia Flash, la tecnología de Macromedia para añadir dinamismo al panorama web. Fue lanzado con la versión… …   Enciclopedia Universal

  • ActionScript — Infobox programming language name = ActionScript paradigm = Multi paradigm year = 1998 designer = Gary Grossman developer = Macromedia (now Adobe Systems) latest release version = 3.0 latest release date = June 27, 2006 typing = strong, static,… …   Wikipedia

  • ActionScript — Adobe ActionScript es el lenguaje de programación de la Plataforma Adobe Flash. Originalmente desarrollado como una forma para que los desarrolladores programen de forma más interactiva. La programación con ActionScript permite mucha más… …   Wikipedia Español

  • ActionScript Foundry — Développeur ServeBox Dernière version …   Wikipédia en Français


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»