ActionScriptファイルの作成
1. 「btnClass.as」という名前でActionScriptファイルを作成し、以下のように記述します。ここでは「btnClass」という独自のクラスを定義しています。クラスとは、ある特定の処理を行う関数をまとめたものを言い、オブジェクト(インスタンス)がどんなプロパティとメソッドを持っているのかを定義しています。ここでは「btn_mc」オブジェクト(インスタンス)に「触れたとき」「押したとき」「離れたとき」の内容をまとめてあります。このようにクラスを定義するものを「コンストラクタ」と呼びます。
1行目
「extends MovieClip」は、「ムービークリップクラスを継承する」という意味です。
10〜21行目
クラスと同じ名前の関数「function btnClass()」は、コンストラクタと呼ばれ、クラス内で一番最初に処理されます。このようなコンストラクタを記載しておかなかった場合、ムービーの書き出し時にFlashは同名の空のコンストラクタを作成します。
ここでは「btn_mc」の表示位置を調整し、シンボル内に作ったダイナミックテキストの変数 txt に「name」を入れ、子ノードが存在しなければ三角形を隠し、ボタンに「触れたとき」「離れたとき」「押したとき」に呼び出す関数を決めています。22〜37行目
ボタンに触れたときの処理内容です。最初に表示されている「menu1」内のボタンに触れると「menu2」という名前で空のムービークリップを作り、その中に「btn_mc0, btn_mc1, btn_mc2, ・・・・・」という名前のボタンを配置知ることで、子メニューを作成します。子メニューのボタンにも同じ「btnClass」が割り当てられているので、必要な情報(x, y, level, node)が渡されます。
38〜48行目
ボタンから離れたときの処理内容です。例えば「menu3」に入っている「lavel3-A」というボタンから離れた場合、その孫メニューである「menu5」から降順に消していく。このとき、「menu2」に触れていればそれをけさずに処理を終え、どこにも触れていなければ「menu1」だけを残す。
49〜64行目
ボタンを押した時の処理内容です。XMLファイルに記述した「cmd」が1のときは「trace(parm)」が実行されて、テスト時に出力パネルに「ボタンを押しました」と表示される。命令の追加として「cmd」が2のとき「_root.gotoAndPlay(parm)」を実行し、メインのタイムラインを「parm」に指定したラベル名の位置に移動するスクリプトを記述してある。このようにすれば、ボタンごとに全く異なる処理を割り当てることができる。
2. 「MDC.htm」「MDC.swf」「MDC.xml」「btnClass.as」を同じ階層にPUTします。