ActionScript とは
ActionScript は Adobe Flash Player や Adobe AIR のランタイム環境用の開発言語です。 開発環境には Adobe Flash CS6(オーサリングツール)/Adobe Flex Builder(統合開発環境)/Adobe Flex(コマンドラインのコンパイラ)がありますが、 有償であったりコマンドラインでコンパイルしなければならないので、 ここでは無償の統合開発環境である FlashDevelop を使用しています。 ActionScriptで書かれたコードを上記環境でコンパイルすることにより、SWF(Shockwave Flash file)ファイルが生成されます。 このSWFファイルをウェブページなどに組み込めば、ランタイム環境で動作させることができます。
ActionScript には ActionScript 1.0/2.0/3.0 の各バージョンがあり、2.0からオブジェクト指向言語になっています。 ECMAScriptをベースに作られているため、Javascriptに似ており。また、オブジェクト指向言語になり、Javaにも似ている言語となっています。
文法
基本的なことと気になったことについて書いていきます。
変数宣言
var 変数名:型 で宣言します。
1 2 3 4 5 |
|
などがあります。
文字列
文字列はシングルクォートかダブルクォートを使って定義します。\n(改行)などの特殊文字を入れることもできます。
1
|
|
文字列を操作するメソッドも用意されており、Rubyみたいに使えます。
1 2 3 4 5 6 7 |
|
上記コードだけでは実行できないので、以下のようにコードを.asファイルに記載して実行(FlashDevelopではF5)します。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
配列
配列用の型があるので、Arrayで宣言します。
1 2 |
|
配列も文字列と同じようにメソッドが用意されており、操作できます。
1 2 3 4 5 6 7 |
|
ハッシュ
Object型を使って、ハッシュを作ります。Object型はすべてのクラス定義の基本クラスです。
1 2 3 4 |
|
ブロックスコープ
変数は関数単位で管理しており、ブロック変数として宣言したつもりでも関数スコープになっています。(withを使えば、実現できるらしいです。)
1 2 3 4 5 6 7 |
|
例外
Javaのように例外をキャッチできます。
1 2 3 4 5 |
|
クラス
以下のようにクラス定義します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
表示リスト
ActionScript 3.0 で構築されたアプリケーションには、表示リストと呼ばれるオブジェクトの階層があります。
1 2 3 4 5 |
|
- ステージ
表示オブジェクトの基本コンテナ、各アプリケーションには1つのStageオブジェクトがあり、この中に画面の表示オブジェクトがすべて含まれます。 ステージは、表示リスト階層の最上位にあたります。 それぞれのSWFファイルには関連するActionScriptクラスがあり、これがSWFファイルのメインクラスと呼ばれます。 SWFファイルのメインクラスは、Spriteクラスを拡張して定義します。 SWFファイルが Flash Player または Adobe AIR 上で開かれると、SWFファイルのメインクラスのコンストラクタ関数が呼ばれ、 作成されるインスタンスがStageオブジェクトに子として追加されます。
- 表示オブジェクト
ActionScript 3.0 では、アプリケーション内で表示される全てのエレメントタイプは、表示オブジェクトです。
- 表示オブジェクトコンテナ
表示オブジェクトコンテナは特殊な型の表示オブジェクトです。 表示オブジェクトコンテナ(単にコンテナともいいます)は、それ自体が表示オブジェクトコンテナ/表示オブジェクトを子オブジェクトに含むことができます。 表示オブジェクトコンテナに子オブジェクトを追加するには addChild関数を使います。 表示オブジェクトコンテナとなりうる表示オブジェクトは Stage/MovieClip/Spriteクラスです。
Hello ActionScript
Flash上に「Hello ActionScript」と文字列を表示させます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|