ActionScript
From Wikipedia, the free encyclopedia
Remove ads
ActionScript — аб’ектна-арыентаваная мова праграмавання, адзін з дыялектаў ECMAScript, які дадае інтэрактыўнасць, апрацоўку дадзеных і многае іншае ў змесціва Flash-прыкладанняў. ActionScript спаўняецца віртуальнай машынай (ActionScript Virtual Machine), якая з’яўляецца складовай часткай Flash Player. ActionScript кампілюецца ў байт-код, які ўключаецца ў SWF-файл.
SWF-файлы выконваюцца Flash Player-ам. Flash Player існуе ў выглядзе плагіна да вэб-браўзэра, а таксама як самастойны дадатак (standalone). У другім выпадку магчыма стварэнне выконваемых exe-файлаў (projector), калі дадатак Flash Player аб’ядноўваецца з swf файлам па аналогіі з SFX.
З дапамогай ActionScript можна ствараць інтэрактыўныя мультымедыя-прыкладанні, гульні, вэб-сайты і многае іншае.
ActionScript — адкрытая мова праграмавання, яе спецыфікацыя знаходзіцца ў адкрытым доступе на сайце Adobe[1]. Кампілятар (як частка Apache Flex) і адкрытая віртуальная машына (Tamarin) з’яўляюцца адкрытым праграмным забеспячэннем.
Remove ads
Гісторыя
ActionScript як мова з’явілася з выхадам 5-й версіі Macromedia Flash, якая стала першым праграмуемым на ActionScript асяроддзем. Першая версія мовы, што выйшла, называлася ActionScript 1.0. Шостая версія Flash (MX) таксама выкарыстала ActionScript 1.0. У 2004 годзе кампанія Macromedia прадставіла новую версію ActionScript 2.0 разам з выхадам Flash 7 (MX 2004), у якой было ўведзена строгае вызначэнне тыпаў, а таксама праграмаванне, заснаванае на класах. Гэта значыць з’явіліся новыя ключавыя словы:
- class (клас),
- інтэрфейс (інтэрфейс),
- 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 (што забяспечвае значны прырост прадукцыйнасці: да 10 тысяч раз). ActionScript 3.0 па хуткасці наблізіўся да такіх мовах праграмавання, як Java і C#. Павелічэнне прадукцыйнасці заснавана на дынамічнай трансляцыі кода (JIT). Такое павелічэнне прадукцыйнасці магчыма толькі для некаторых тыпаў дадзеных і патрабуе асаблівай арганізацыі кода[2]. Аб'ём кода, як правіла, павялічваецца ў некалькі разоў[3] (па параўнанні з 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 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!");
Remove ads
Структура
ActionScript 2
Элементарныя тыпы дадзеных
Складаныя тыпы дадзеных
ActionScript 3
Элементарныя тыпы дадзеных
(гл. дакументацыю Adobe Архівавана 2 лістапада 2007.)
Складаныя тыпы дадзеных
(гл. дакументацыю Adobe Архівавана 2 лістапада 2007.)
Пакеты
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
Зноскі
Спасылкі
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads