Направо към съдържанието

ActionScript

от Уикипедия, свободната енциклопедия

ActionScript е ECMAScript базиран програмен език, използван за писане на Macromedia Flash филмчета и приложения. Тъй като и ActionScript и JavaScript са базирани на един и същ ECMAScript синтаксис, теоретично е лесно превеждането от един на друг. Но докато за JavaScript's DOM (Document Object Model) обект са прозорецът на браузъра, отделния документ и формата, за ActionScript това е SWF (Small Web Format), който може да включва анимация, звук, текст и др. Скриптовият език е начин за комуникация с програмата, при който можете да окажете на Flash какво да направи или да го попитате какво става докато филмът върви. Този двустранен вид комуникация позволява да се създават интерактивни филми.

История

Кодът създава подскачаща топка, която може да бъде подхваната и пусната.]] ActionScript се появява с текущия синтаксис с излизането на Flash 5, който е първата напълно програмно ориентирана версия на Flash. Тази версия на ActionScript е именувана ActionScript 1.0. Във Flash 6 (MX) е било разширен с помощна среда за програмиране с добавяне на вградени функции и подобрен програмен контрол на елементите в файла. Flash 7 (MX 2004) представя ActionScript 2.0, към който е добавено стриктното типизиране и класово ориентирано програмиране особености като изрична декларация клас, онаследняване, интерфейси. ActionScript 1.0 и 2.0 имат един и същ изходен компилиран формат - SWF (Shock Wave File).

Версии

  • Flash Player 2: Първата версия с поддръжка на скриптове, включващи gotoAndPlay, gotoAndStop, nextFrame и nextScene за контрол на времевата линия и сцените.
  • Flash Player 3: Разширява основната функционалност с възможността да се зареждат външни SWF файлове с loadMovie.
  • Flash Player 4: Първия плеър с пълна поддръжка на скриптопе наричани Actions. Скриптовете са били със slash базиран синтаксис и е имало поддръжка на цикли, условности, промениливи и други основни конструкции.
  • Flash Player 5: Включва първата версия на същинския ActionScript. Въведени са програмиране с прототипи базирано на ECMAScript, въведени са Процедурното и Обектно ориентираното програмиране.
  • Flash Player 6: Добавена е поддръжка на събития.
  • Flash Player 7: Flash Player 7 предлага някои нови възможности като CSS форматиран текст и подобрения в бързодействието. Macromedia Flash 7 компилаторът поддържа ActionScript 2.0, Класово ориентиран програмен език базиран на ECMAScript 4 Netscape Proposal. Допълнително ActionScript 2.0 може да прекомпилира до ActionScript 1.0 в байт код, така че да може да се изпълни във Flash Player 6.
  • Flash Player 8: Допълнително разширен ActionScript 2.0 с добавянето на нови библиотеки с класове с функции за контролиране на bitmap изображения при изпълнение на кода.
  • Flash Player 9 (първоначално наречен 8.5): Добавен е ActionScript 3.0 заедно с появяването на нова виртуална машина, наречена AVM2 (ActionScript Virtual Machine 2), която съществува едновременно с предишната AVM1 необходима за поддръжката на старите кодове. Подобрения в бързодействието е значително в тази версия включваща новата JIT компилация. Това е първата версия на плеъра наричана Adobe Flash Player.
  • Flash Lite 1.0 and 1.1: Flash Lite е Flash технология специално разработена за мобилни телефони и електронни устройства. Flash Lite 1.1 поддържа Flash 4 ActionScript.
  • Flash Lite 2.1: Добавена е поддръжка на Flash 7 ActionScript 2.0.

ActionScript 2.0

Синтаксис

В ActionScript 2.0 може да има класове, както и елементи от библиотеката (MovieClip) могат да бъдат свързани с класа. Класовете винаги се пишат във външни текстови файлове, и тези фалйове са с разширение .as. Класовете са допълнения към езика ActionScript, които програмиста може сам да напише, въпреки че има много готови класове като MovieClip класа, който може да бъде използван за рисуване на вектори динамично. Класовете улесняват програмиста и файловете с класовете могат да бъдат използвани в много проекти, ако е необходимо.

Възможности на Flash ActionScript, които JavaScript програмистите могат да намерят за интересни:

  • Всичко е с презумцията да бъде асинхронно;
  • Flash 5 може да изпраща и приема XML, което може да бъде използвано за направата на онлайн игри.

ActionScript кодът често се пише директно във Flash средата за разработка, която предлага връзка, подсказки и оцветяване. Често, кодът се запазва с останалите елементи във .fla файл. Практика е и импортването на външни ActionScript кодове от външни файлове, чрез include. В този случай външния файл може да бъде компилиран с вградения за Flash компилатор IDE или с Motion Twin ActionScript2 Compiler (MTASC).

ActionScript 3.0

ActionScript 3.0 има сходен синтаксис с този на предходната версия, но използва различен набор от API за създаване на обекти.

Сравнение между двете версии на програмния език:

Версия 2.0:

class com.example.Greeter extends MovieClip

{
    public function Greeter()
    {
        var txtHello:TextField = this.createTextField("txtHello", 0, 0, 0, 100, 100);
        txtHello.text = "Hello, world";
    }

}

Версия 3.0:

package com.example

{
    import flash.text.TextField;
    import flash.display.Sprite;
 
    public class Greeter extends Sprite
    {
        public function Greeter()
        {
            var txtHello:TextField = new TextField();
            txtHello.text = "Hello World";
            addChild(txtHello);
        }
    }

}

ActionScript 3.0 също може да се използва в MXML, когато се използва Apache's Flex framework.

Структура на данни

ActionScript основно се състои от "фундаментални" или "прости" видове, които се използват за създаване на други типове данни. Тези типове данни са много сходни с типове Java данни. Тъй ActionScript 3 беше напълно пренаписан спрямо ActionScript 2, типовете данни и техните наследствата са се променили.

ActionScript 2.0

Основи

  • String - Ред от символи (може да е само един знак, дума, изречение). Пример: "Здравей, свят";
  • Number - Всяка числена стойност;
  • Boolean - Просто бинарно (двоично) хранилище, което може да съхранява само "вярно" или "грешно".
  • Object - Обектът може да съчетае всички останали видове данни. Позволява да се групират методи, функции, параметри и други обекти.

Сложни

Има допълнителни "сложни" типове данни. Това са интензивни задачи за процесора и паметта и се състоят от много "прости" типове данни. За AS2, някои от тези типове данни са:

  • MovieClip - Творение на ActionScript, позволяващо лесно използване на видими обекти;
  • TextField - Може да бъде обикновено, динамично или въвеждащо. Наследява MovieClip;
  • Button - Бутон, с 4 състояния (поведения): Мишка не задържана на него, мишка на него, Мишка натисната на него и мишка задържана на него. Наследява MovieClip;
  • Date - Дава достъп до информация в определено време;
  • Array - Позволява да се съхранява поредност от информация;
  • XML - XML обект
  • XMLNode - XML връзка
  • LoadVars
  • Sound
  • NetStream
  • NetConnection
  • MovieClipLoader
  • EventListener.

ActionScript 3.0

Външни препратки