Лучшие вопросы
Таймлайн
Чат
Перспективы

ActionScript

объектно-ориентированный язык программирования Из Википедии, свободной энциклопедии

ActionScript
Remove ads

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

Краткие факты Класс языка, Появился в ...
Remove ads
Краткие факты MIME-тип, Разработчик ...

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

С помощью ActionScript можно создавать интерактивные мультимедиа-приложения, игры, веб-сайты и многое другое.

ActionScript — открытый язык программирования, его спецификация находится в открытом доступе на сайте Adobe[2]. Компилятор (как часть Apache Flex) и открытая виртуальная машина (Tamarin) являются открытым программным обеспечением. В 2020 Adobe передало обновление ActionScript компании HARMAN[3]. В 2022 HARMAN предоставили приветствие вклада [4][5]

Remove ads

История

Суммиров вкратце
Перспектива

ActionScript как язык появился с выходом 5-й версии Macromedia Flash, которая стала первой программируемой на ActionScript средой. Первая вышедшая версия языка называлась ActionScript 1.0. 6-я версия Flash (MX) также использовала ActionScript 1.0. В 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). Такое увеличение производительности возможно лишь для некоторых типов данных и требует особой организации кода[6]. Объём кода, как правило увеличивается в несколько раз[7] (по сравнению с AS1).

Подробнее Версии плеера, Нововведения ...
Поддержка версий ActionScript:
Не поддерживается AS1 AS1, AS2 AS1, AS2, AS3
Remove ads

Синтаксис

Суммиров вкратце
Перспектива

Синтаксис 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 Ako!";
    }
}

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!";
        this.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!");
Remove ads

Структура

Суммиров вкратце
Перспектива

ActionScript 2

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

Подробнее Тип, Описание ...

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

Подробнее Тип, Описание ...

ActionScript 3

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

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

Подробнее Тип, Описание ...

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

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

Подробнее Тип, Описание ...

Пакеты

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

Подробнее Пакет, Описание ...

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

Remove ads

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

  • 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) .
Remove ads

Примечания

Loading content...

Ссылки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads