「ActionScript」の版間の差分
編集の要約なし |
|||
13行目: | 13行目: | ||
===変数の宣言=== |
===変数の宣言=== |
||
変数の宣言は下記の書式で記述する。 |
変数の宣言は下記の書式で記述する。 |
||
< |
<syntaxhighlight lang="ActionScript"> |
||
var 変数名 : 変数の型 |
var 変数名 : 変数の型 |
||
</syntaxhighlight> |
|||
</source> |
|||
例: |
例: |
||
< |
<syntaxhighlight lang="ActionScript"> |
||
var num : int; |
var num : int; |
||
</syntaxhighlight> |
|||
</source> |
|||
===関数の宣言=== |
===関数の宣言=== |
||
関数の宣言は下記の書式で記述する。 |
関数の宣言は下記の書式で記述する。 |
||
< |
<syntaxhighlight lang="ActionScript"> |
||
function 関数名(引数1:引数1の型, 引数2:引数2の型, ...) : 戻り値の型 { |
function 関数名(引数1:引数1の型, 引数2:引数2の型, ...) : 戻り値の型 { |
||
実行するコード1 |
実行するコード1 |
||
29行目: | 29行目: | ||
... |
... |
||
} |
} |
||
</syntaxhighlight> |
|||
</source> |
|||
例: |
例: |
||
< |
<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>」とし、パッケージと同じディレクトリに置かなければならない。 |
||
< |
<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 |
脚注
- ^ ActionScript 2.0では
Void
。 - ^ ステートメント、キーワード、ディレクティブ - Adobe ActionScript® 3(AS3 )API リファレンス
- ^ http://tech.motion-twin.com/mtasc.html
- ^ http://www.liveswif.net/
- ^ http://www.cty-net.ne.jp/~uzgensho/
- ^ http://www.codedrive.com/