Warning: file_exists(): open_basedir restriction in effect. File(/bin/bash) is not within the allowed path(s): (/home/aiflash/:/tmp:/var/tmp:/opt/alt/php82/usr/share/pear/:/dev/urandom:/usr/local/lib/php/:/usr/local/php82/lib/php/) in /home/aiflash/domains/wikippe.e-do-match.com/public_html/includes/shell/CommandFactory.php on line 119

Warning: file_exists(): open_basedir restriction in effect. File(/bin/bash) is not within the allowed path(s): (/home/aiflash/:/tmp:/var/tmp:/opt/alt/php82/usr/share/pear/:/dev/urandom:/usr/local/lib/php/:/usr/local/php82/lib/php/) in /home/aiflash/domains/wikippe.e-do-match.com/public_html/includes/shell/CommandFactory.php on line 119

Warning: file_exists(): open_basedir restriction in effect. File(/bin/bash) is not within the allowed path(s): (/home/aiflash/:/tmp:/var/tmp:/opt/alt/php82/usr/share/pear/:/dev/urandom:/usr/local/lib/php/:/usr/local/php82/lib/php/) in /home/aiflash/domains/wikippe.e-do-match.com/public_html/includes/shell/CommandFactory.php on line 119

Warning: file_exists(): open_basedir restriction in effect. File(/bin/bash) is not within the allowed path(s): (/home/aiflash/:/tmp:/var/tmp:/opt/alt/php82/usr/share/pear/:/dev/urandom:/usr/local/lib/php/:/usr/local/php82/lib/php/) in /home/aiflash/domains/wikippe.e-do-match.com/public_html/includes/shell/CommandFactory.php on line 119

Warning: file_exists(): open_basedir restriction in effect. File(/bin/bash) is not within the allowed path(s): (/home/aiflash/:/tmp:/var/tmp:/opt/alt/php82/usr/share/pear/:/dev/urandom:/usr/local/lib/php/:/usr/local/php82/lib/php/) in /home/aiflash/domains/wikippe.e-do-match.com/public_html/includes/shell/CommandFactory.php on line 119
ActionScript - Wikippe コンテンツにスキップ

ActionScript

提供: Wikippe

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

概要

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

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

テンプレート:Lang は主に SWF ファイルの開発用ソフトウェアである テンプレート:Lang および テンプレート:Lang でスクリプトとして記述する。

文法

テンプレート:Lang 1.0は文法が テンプレート:Lang に似ているが、テンプレート:Lang 2.0 からはクラスベースのオブジェクト指向言語になりJavaに似通っている。テンプレート:Lang ではすべてのデータをオブジェクトと見なしている。テンプレート:Lang ではプログラミングコードを記述する場所が複数あり、タイムラインのフレーム上に書いた場合とクラスとして外部ファイルに書いた場合と記述の仕方が若干異なる。また、テンプレート:Lang 2.0(テンプレート:Lang)まではムービークリップまたはボタン上にプログラミングコードを記述できたが、 テンプレート:Lang 3.0(テンプレート:Lang)で廃止された。ここでは テンプレート:Lang 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 になる。

クラスの宣言

クラスの構文は テンプレート:Lang に似通っている。クラスとコンストラクタは必ず public にしなければならない。コンストラクタは省略可能である。ファイル名は「クラス名.as」とし、パッケージと同じディレクトリに置かなければならない。

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

テンプレート:節stub

統合開発環境

アドビシステムズ社

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

その他

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

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

製品名 備考
テンプレート:Lang[3] タイムライン式。テンプレート:Lang に対応している。
テンプレート:Lang イベント式。テンプレート:Lang に対応している。
テンプレート:Lang[4] タイムライン式。テンプレート:Lang に対応している。
テンプレート:Lang ブラウザから テンプレート:Lang を入力し、サーバサイドでコンパイルを行うことで無償で開発を行うことができる。
テンプレート:Lang[5]
テンプレート:Lang
テンプレート:Lang テンプレート:Lang 製ソフトや テンプレート:Lang コンテンツを作成できる無償の開発環境

スクリプト未搭載

公開日 製品 備考
1996年 テンプレート:Lang
公開日 製品 備考
1997年 テンプレート:Lang ボタン機能搭載と共に「ボタンアクション」「フレームアクション」搭載。getURL()gotoAndPlay() などが可能。フレーム間の移動が可能になる。
1998年 テンプレート:Lang 複数のスクリプトの記述が可能になった。loadMovie()fscommand()など実装。
1999年 テンプレート:Lang 「アクション」機能大幅高度化。変数、四則演算、文字列処理、条件分岐などが追加。関数呼び出しに相当するのは、フレームの移動である、call() である。

処理系は テンプレート:Lang である。

公開日 製品 備考
2000年 テンプレート:Lang テンプレート:Lang ベースとなり、関数が作れるようになる。
2002年 テンプレート:Lang イベントハンドラメソッド」搭載。instanceof=== が導入され、より テンプレート:Lang 準拠となる。
公開日 製品 備考
2003年 テンプレート:Lang 2004 クラスベースのオブジェクト指向が導入される。例外処理を追加。
2005年 テンプレート:Lang

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

公開日 製品 備考
2006年7月28日 テンプレート:Lang
2007年3月27日 テンプレート:Lang
2008年2月25日 テンプレート:Lang
2008年2月25日 テンプレート:Lang
2008年12月19日 テンプレート:Lang

脚注

関連項目

テンプレート:Adobe Flash テンプレート:Computer-stub