コンテンツにスキップ

ActionScript

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。126.243.52.76 (会話) による 2020年10月22日 (木) 11:03個人設定で未設定ならUTC)時点の版であり、現在の版とは大きく異なる場合があります。

ActionScript(アクションスクリプト)とは、アドビシステムズ社の製品である Flash に使用されるプログラミング言語である。ECMAScript を拡張した物である。これを用いることにより、動画や音声のプレイヤーの作成など、コンテンツに複雑な処理や双方向性を持たせ Flash 作品を作ることが可能である。

概要

文法

ActionScript 1.0は文法が JavaScript に似ているが、ActionScript 2.0 からはクラスベースのオブジェクト指向言語になりJavaに似通った特徴を持つようになった。ActionScript ではすべてのデータをオブジェクトと見なしている。Flash ではプログラミングコードを記述する場所が複数あり、タイムラインのフレーム上に書いた場合とクラスとして外部ファイルに書いた場合と記述の仕方が若干異なる。また、ActionScript 2.0(Flash 8)まではムービークリップまたはボタン上にプログラミングコードを記述できたが、 ActionScript 3.0(Flash CS3)で廃止された。ここでは ActionScript 3.0の文法を説明していく。

変数の宣言

変数の宣言は下記の書式で記述する。

var 変数名 : 変数の型

例:

var num : int;

関数の宣言

関数の宣言は下記の書式で記述する。

function 関数名(引数1:引数1の型, 引数2:引数2の型, ...) : 戻り値の型 {
    実行するコード1
    実行するコード2
    ...
}

例:

function sum(a:Number, b:Number) : Number {
    return a + b;
}

戻り値がない場合は戻り値の型を void とする[1]voidと宣言した場合、戻り値は undefined になる。

クラスの宣言

クラスの構文は Java や C# に似通っている。クラスのアクセスレベルはパッケージ外からもアクセスできるpublicとパッケージ内のみからアクセスできるinternalの2種類があり、省略した場合はinternalとなる。コンストラクタやメディレクトリに置かなければならない。

package パッケージ名 {
    public class クラス名 {
        // コンストラクタ
        public function クラス名() {
        }
    }
}

統合開発環境

アドビシステムズ社

ActionScript を編集するためにアドビシステムズ社が提供する各種アプリケーションは、一般的に使われている統合開発環境とは異なる点が多く、それらに慣れたプログラマーには評判が悪い傾向がある。Adobe Flex Builder では、Eclipseプラグインの形で編集環境を提供しており、別言語の修得者は差異に悩むことなく開発を行える。また Adobe Flex SDK

無償のオープンソースの物や、アドビシステムズ以外の会社が提供する Flash 開発用ソフトウェアも発売されている。それらのソフトにも ActionScript に対応しているものがある。オープンソースの Motion-Twin ActionScript 2 Compiler[2] はアドビシステムズ社の製品よりもコンパイルが速いと謳われている。

またオープンソースのコンパイラを利用して ActionScript から SWF ファイルを作る、「FAME」「FAMES」「FLAMES」等と呼ばれる開発環境/開発手法が注目されている。

製品名 備考
LiveSwif[3] タイムライン式。ActionScript に対応している。
ParaFla! イベント式。ActionScript に対応している。
Suzuka[4] タイムライン式。ActionScript に対応している。
wonderfl ブラウザから ActionScript を入力し、サーバサイドでコンパイルを行うことで無償で開発を行うことができる。
CodeDrive[5]
ActionScript 3/Flash IDE
FlashDevelop Adobe AIR 製ソフトや Flash コンテンツを作成できる無償の開発環境

Flash における ActionScript の歴史

スクリプト未搭載

公開日 製品 備考
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 となった。フレームワークも全面的に改装され、立体、透視の実装や、新しいディスプレイオブジェクトとディスプレイオブジェクトコンテイナーの体制が取り入れた。文法では、関数を直接にイベントの使用することなどが出来なくなり、3D モデリングソフトウェアのように自動的に物体の「深さ」(デプス)をレンダリングできないので、これ以前の版に慣れているプログラマーには難しいかもしれない。そのために、色々なライブラリ(3D、フィルターなど)がウェブ上で公開されている。

公開日 製品 備考
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

脚注

  1. ^ ActionScript 2.0では Void
  2. ^ http://tech.motion-twin.com/mtasc.html
  3. ^ http://www.liveswif.net/
  4. ^ http://www.cty-net.ne.jp/~uzgensho/
  5. ^ http://www.codedrive.com/

関連項目