コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

「ActionScript」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
編集の要約なし
Cewbot (会話 | 投稿記録)
m Bot作業依頼: sourceタグをsyntaxhighlightタグに置換 (Category:非推奨のsourceタグを使用しているページ) - log
13行目: 13行目:
===変数の宣言===
===変数の宣言===
変数の宣言は下記の書式で記述する。
変数の宣言は下記の書式で記述する。
<source lang="ActionScript">
<syntaxhighlight lang="ActionScript">
var 変数名 : 変数の型
var 変数名 : 変数の型
</syntaxhighlight>
</source>
例:
例:
<source lang="ActionScript">
<syntaxhighlight lang="ActionScript">
var num : int;
var num : int;
</syntaxhighlight>
</source>


===関数の宣言===
===関数の宣言===
関数の宣言は下記の書式で記述する。
関数の宣言は下記の書式で記述する。
<source lang="ActionScript">
<syntaxhighlight lang="ActionScript">
function 関数名(引数1:引数1の型, 引数2:引数2の型, ...) : 戻り値の型 {
function 関数名(引数1:引数1の型, 引数2:引数2の型, ...) : 戻り値の型 {
実行するコード1
実行するコード1
29行目: 29行目:
...
...
}
}
</syntaxhighlight>
</source>
例:
例:
<source lang="ActionScript">
<syntaxhighlight lang="ActionScript">
function sum(a:Number, b:Number) : Number {
function sum(a:Number, b:Number) : Number {
return a + b;
return a + b;
}
}
</syntaxhighlight>
</source>
戻り値がない場合は戻り値の型を <code>void</code> とする<ref>ActionScript 2.0では <code>Void</code>。</ref>。<code>void</code>と宣言した場合、戻り値は <code>undefined</code> になる。
戻り値がない場合は戻り値の型を <code>void</code> とする<ref>ActionScript 2.0では <code>Void</code>。</ref>。<code>void</code>と宣言した場合、戻り値は <code>undefined</code> になる。


41行目: 41行目:
クラスの構文は Java や [[C Sharp|C#]] に似通っている。クラスのアクセスレベルはパッケージ外からもアクセスできる<code>public</code>とパッケージ内のみからアクセスできる<code>internal</code>の2種類があり、省略した場合は<code>internal</code>となる。コンストラクタやメソッド、フィールド(メンバー変数、メンバー定数)のアクセスレベルは<code>public</code>, <code>internal</code>, <code>protected</code>, <code>private</code>の4種類があり、省略した場合は<code>internal</code>となる。コンストラクタは省略可能であり、省略した場合はデフォルトコンストラクタが自動定義される。ソースファイル外部に公開されるクラスの名前は、そのクラスを含むソースファイルの名前と一致する必要がある<ref>[https://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/statements.html#class ステートメント、キーワード、ディレクティブ - Adobe ActionScript® 3(AS3 )API リファレンス]</ref>。ソースファイルの名前は「<code>クラス名.as</code>」とし、パッケージと同じディレクトリに置かなければならない。
クラスの構文は Java や [[C Sharp|C#]] に似通っている。クラスのアクセスレベルはパッケージ外からもアクセスできる<code>public</code>とパッケージ内のみからアクセスできる<code>internal</code>の2種類があり、省略した場合は<code>internal</code>となる。コンストラクタやメソッド、フィールド(メンバー変数、メンバー定数)のアクセスレベルは<code>public</code>, <code>internal</code>, <code>protected</code>, <code>private</code>の4種類があり、省略した場合は<code>internal</code>となる。コンストラクタは省略可能であり、省略した場合はデフォルトコンストラクタが自動定義される。ソースファイル外部に公開されるクラスの名前は、そのクラスを含むソースファイルの名前と一致する必要がある<ref>[https://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/statements.html#class ステートメント、キーワード、ディレクティブ - Adobe ActionScript® 3(AS3 )API リファレンス]</ref>。ソースファイルの名前は「<code>クラス名.as</code>」とし、パッケージと同じディレクトリに置かなければならない。


<source lang="ActionScript">
<syntaxhighlight lang="ActionScript">
package パッケージ名 {
package パッケージ名 {
public class クラス名 {
public class クラス名 {
49行目: 49行目:
}
}
}
}
</syntaxhighlight>
</source>
{{節スタブ}}
{{節スタブ}}



2020年7月5日 (日) 22:42時点における版

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

概要

ActionScript が初めて搭載されたのが2000年に発売された Flash 5 で、後継バージョンである Flash MX 2004(Flash 7)からは 2.0 が、Flash CS3(Flash 9)では 3.0 が搭載されている。Flash 4 やそれ以前にもスクリプト機能は搭載されていたが、それは、ActionScript とは呼ばれておらず、ECMAScript ベースでもなかった。

初代 ActionScript は単純で覚えやすいスクリプト言語であり、プロトタイプベースオブジェクト指向言語だったが、ActionScript 2.0、3.0ではより大規模開発に適したクラスベースのオブジェクト指向言語を搭載した。

ActionScript は主に SWF ファイルの開発用ソフトウェアである Adobe Flash および Adobe Flex でスクリプトとして記述する。

文法

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となる。コンストラクタやメソッド、フィールド(メンバー変数、メンバー定数)のアクセスレベルはpublic, internal, protected, privateの4種類があり、省略した場合はinternalとなる。コンストラクタは省略可能であり、省略した場合はデフォルトコンストラクタが自動定義される。ソースファイル外部に公開されるクラスの名前は、そのクラスを含むソースファイルの名前と一致する必要がある[2]。ソースファイルの名前は「クラス名.as」とし、パッケージと同じディレクトリに置かなければならない。

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

統合開発環境

アドビシステムズ社

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

その他

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

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

製品名 備考
LiveSwif[4] タイムライン式。ActionScript に対応している。
ParaFla! イベント式。ActionScript に対応している。
Suzuka[5] タイムライン式。ActionScript に対応している。
wonderfl ブラウザから ActionScript を入力し、サーバサイドでコンパイルを行うことで無償で開発を行うことができる。
CodeDrive[6]
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. ^ ステートメント、キーワード、ディレクティブ - Adobe ActionScript® 3(AS3 )API リファレンス
  3. ^ http://tech.motion-twin.com/mtasc.html
  4. ^ http://www.liveswif.net/
  5. ^ http://www.cty-net.ne.jp/~uzgensho/
  6. ^ http://www.codedrive.com/

関連項目