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#. Увеличение производительности основано на динамической трансляции кода (JIT). Такое увеличение производительности возможно лишь для некоторых типов данных и требует особой организации кода[1]. Объём кода, как правило увеличивается в несколько раз[2] (по сравнению с AS1)
Примеры
В среде Adobe Flash в окне для скрипта (AS 2.0) введите:
<source lang="actionscript">trace("Hello world!");</source>
Синтаксис
Синтаксис ActionScript основан на спецификации ECMAScript.
ActionScript 3.0 (а точнее Flash Player 9 API — можно сказать стандартная библиотека написанная на C++) состоит из более чем 700 классов, организованных в следующие пакеты (аналоги пространств имён в C++):
| Пакет | Описание |
|---|---|
| flash.accessibility | Пакет flash.accessibility содержит классы для поддержки доступа в Flash контента и приложений. |
| flash.display | Пакет flash.display содержит основные классы, которые Flash Player использует для построения фильма. |
| flash.errors | Пакет flash.errors содержит набор часто используемых классов обработки ошибок. |
| 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 | Пакет flash.system содержит классы для доступа к системе на уровне функциональности, такие как безопасность, многоязычного содержания и т. д. |
| flash.text | Пакет flash.text содержит классы для работы с текстом, его форматированием, размером, стилем и расположением. |
| flash.ui | Пакет flash.ui содержит классы пользовательского интерфейса, такие как классы для работы с мышью и клавиатурой. |
| flash.utils | Пакет flash.utils содержит дополнительные классы, такие как ByteArray для работы с бинарными данными, Timer для отсчёта интервалов времени и др. |
| flash.xml | Пакет flash.xml обеспечивает поддержку XML, и все функции для работы с XML. |
а также mx.* пакеты, которые состоят из классов, предназначенных для создания интерфейса приложения в среде Flex.
Примечания
Ссылки
| SQL | Это незавершённая статья о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |
ECMAScript (сравнение) |
|
|---|---|
| Диалекты | ActionScript · Caja · JavaScript / LiveScript · JScript · JavaScript OSA · JScript .NET · QtScript |
| Движки ECMAScript | InScript · JavaScriptCore · JScript · KJS · futhark · linear_b · Carakan · Narcissus · QtScript · Rhino · SpiderMonkey · SunSpider · Tamarin · TraceMonkey · V8 · SquirrelFish |
| Другое | Брендан Айх · Ecma International |
Основные языки программирования (список • сравнение • IDE • история • хронология) |
|
|---|---|
| Используемые в разработке |
Ада • АПЛ • Ассемблер • ActionScript • ABAP/4 • AutoIt • AWK • BASIC • C • Кобол • C++ • C# • ColdFusion • Common Lisp • D • dBase • Delphi • Eiffel • Erlang • F# • Forth • Фортран • Gambas • Groovy • Haskell • Icon • Java • JavaScript • Limbo • Lua • MATLAB • Object Pascal • Objective-C • OCaml • Oz • Оберон • Parser • Паскаль • Perl • PHP • PowerBASIC • PureBasic • Python • ПЛ/1 • Пролог • Ruby • Scala • Scheme • Smalltalk • SQL • PL/SQL • Tcl • Vala • Visual Basic • VB.NET |
| Академические | |
| IEC61131-3 |
Instruction List • ST • FBD • Ladder Diagram • SFC |
| Прочие | |
| Эзотерические | |
ar:أكشن سكربت
bg:ActionScript
ca:ActionScript
cs:ActionScript
de:ActionScript
en:ActionScript
es:ActionScript
et:Flash ActionScript
fa:اکشناسکریپت
fr:ActionScript
gl:ActionScript
he:ActionScript
hu:ActionScript
id:ActionScript
it:ActionScript
ja:ActionScript
ko:액션스크립트
ms:ActionScript
nl:ActionScript
no:ActionScript
pl:ActionScript
pt:ActionScript
ro:ActionScript
simple:ActionScript
sv:ActionScript
tg:ActionScript
th:แอ็กชันสคริปต์
tr:ActionScript
uk:ActionScript
vi:ActionScript
zh:ActionScript
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....