ActionScript
ActionScript(アクションスクリプト)とは、アドビシステムズ社の製品であるFlashに使用されるプログラミング言語である。ECMAScript(ECMA-262)を拡張した物である。これを用いることにより、動画や音声のプレイヤーの作成など、コンテンツに複雑な処理や双方向性を持たせたFlashを作成することが可能である。
概要
ActionScriptが初めて搭載されたのが2000年に発売されたFlash5で、後継バージョンであるFlash MX 2004(Flash7)からは2.0が、Flash CS3(Flash9)では3.0が搭載されている。Flash4や、それ以前でも、スクリプト機能は搭載されていたが、それは、ActionScriptとは呼ばれておらず、ECMAScriptベースでもなかった。
初代ActionScriptは単純で覚えやすいスクリプト言語であり、プロトタイプベースのオブジェクト指向言語だったが、ActionScript 2.0、3.0ではより大規模開発に適したクラスベースのオブジェクト指向言語を搭載し、より厳密化した。
ActionScript は主に SWF ファイルの開発用ソフトウェアである Adobe Flash および Adobe Flex でスクリプトとして記述する。
歴史
- スクリプト未搭載
- 1996年 Flash 1
- ActionScript 前
- 1997年 Flash 2: ボタン機能搭載と共に「ボタンアクション」「フレームアクション」搭載。getURL()やgotoAndPlay()などが可能。フレーム間の移動が可能になる。
- 1998年 Flash 3: 複数のスクリプトの記述が可能に。loadMovie(), fscommand()など実装。
- 1999年 Flash 4: 「アクション」機能大幅高度化。変数、四則演算、文字列処理、条件分岐などが追加。関数呼び出しに相当するのは、フレームの移動である、call()であった。
- ActionScript 1 - ActionScript Virtual Machine 1
- 2000年 Flash 5: ECMAScriptベースとなり、関数が作れるようになる。
- 2002年 Flash MX: 「イベントハンドラメソッド」搭載。instanceof や
===
が導入され、より ECMAScript 準拠となる。
- ActionScript 2
- 2003年 Flash MX 2004: クラスベースのオブジェクト指向が導入される。例外処理を追加。
- 2005年 Flash 8
- ActionScript 3 - ActionScript Virtual Machine 2
- 2006年7月28日 Flex 2.0
- 2007年3月27日 Flash CS3
- 2008年2月25日 Flex 3.0
- 2008年2月25日 AIR 1.0
- 2008年12月19日 Flash CS4
特徴
![]() | この節の加筆が望まれています。 |
文法
ActionScript1.0は文法がJavaScriptに似ているが、ActionScript2.0からはクラスベースのオブジェクト指向言語になりJavaに似通っている。 ActionScriptではすべてのデータをオブジェクトと見なしている。Flashではプログラミングコードを記述する場所が複数あり、タイムラインのフレーム上に書いた場合とクラスとして外部ファイルに書いた場合と記述の仕方が若干異なる。また、ActionScript2.0(Flash 8)まではムービークリップまたはボタン上にプログラミングコードを記述できたが、ActionScript3.0(Flash CS3)で廃止された。 ここではActionScript3.0の文法を説明していく。
変数の宣言
変数の宣言には var 変数名:変数の型 と書く。
var num:int;
関数の宣言
関数の宣言には function 関数名(引数1:引数1の型,引数2:引数2の型,...):戻り値の型{ 実行するコード }と書く。
function sum(a:Number,b:Number):Number
{
return a + b;
}
戻り値がない場合は戻り値の型をvoidとする。(ActionScript2.0ではVoid。)voidと宣言した場合、戻り値はundefinedになる。
クラスの宣言
クラスの構文はJavaに似通っている。クラスとコンストラクタは必ずpublicにしなければならない。コンストラクタは省略可能である。 ファイル名は クラス名.as とし、パッケージと同じディレクトリに置かなければならない。
package パッケージ名
{
public class クラス名
{
//コンストラクタ
public function クラス名()
{
}
}
}
![]() | この節の加筆が望まれています。 |
統合開発環境
ActionScriptはAdobeの提供する各種アプリケーションで編集するのが基本形である。 しかし、一般的に使われている統合開発環境とは異なる点が多く、それらを経験したプログラマーには評判が悪い傾向がある。 Adobe Flex Builderでは、Eclipseプラグインの形で編集環境を提供しており、別言語の修得者は差異に悩むことなく開発を行える。 またAdobe Flex SDKがAdobeから無償で提供されている。 上記以外の統合開発環境ではFlashDevelopなどがある。
アドビ社以外
無償のオープンソースの物や、サードパーティ製の Flash 開発用ソフトウェアも発売されている。それらのソフトにも ActionScript に対応しているものがある。オープンソースのMotion-Twin ActionScript 2 Compilerはアドビ社よりも速いコンパイルを謳っている。
またオープンソースのコンパイラを利用して SWF ファイルを ActionScript から作る FAME / FAMES / FLAMES 等と呼ばれる開発環境/開発手法が注目されている。
サードパーティ製の無償AS開発ソフトウェア
- LiveSwif (http://www.liveswif.tevlar.net/) (タイムライン式)
- ParaFla! (http://www.geocities.jp/coa9999/) (イベント式)
- Suzuka (http://www.cty-net.ne.jp/~uzgensho/) (タイムライン式)
二つともActionScriptに対応している。
ブラウザからActionScriptを入力し、サーバサイドでコンパイルを行うことで無償で開発を行うことができる。
Adobe AIR製ソフトやFlashコンテンツを作成できる無償の開発環境