図5●「info_btn」ボタンから「プレゼンテーション」スライド,「info_slide」スライドを指定する際のターゲットパス。ボタンを基準点(this)にして,ツリーをたどっていく経路(図中の矢印)を「.(ドット)」でつなげて記述する
図5●「info_btn」ボタンから「プレゼンテーション」スライド,「info_slide」スライドを指定する際のターゲットパス。ボタンを基準点(this)にして,ツリーをたどっていく経路(図中の矢印)を「.(ドット)」でつなげて記述する
[画像のクリックで拡大表示]
リスト1●ボタンに記述するActionScriptのコード
リスト1●ボタンに記述するActionScriptのコード
[画像のクリックで拡大表示]

各スライドへ移動するコードを
それぞれのボタンに記述する

 仕上げに,スライドに配置したボタンをクリックすることによって任意のスライドを表示できるようにActionScriptのコードを記述しましょう。指定したスライドへ移動するには,「どのスライドに移動するのか」ということを指定して親階層のスライドが持つ「gotoSlide」メソッドを実行します。

 例えば,ボタンのクリックによってスライドを移動するには,ボタンに次のようなコードを記述します。

on(click){
親スライド.gotoSlide(移動先のスライド)
}

 今回,info_btnをクリックすることによってgotoSlideメソッドを実行させたい親スライドは「プレゼンテーション」スライド,移動先のスライドはinfo_slideです。info_btnにActionScriptを書く場合,「プレゼンテーション」スライドは,自分自身(this)の親に当たりますから,ターゲットパスを使ってthis._parentと記述できます。ターゲットパスは,図5[拡大表示]のツリーをたどって対象にたどり着くまでの経路を「.(ドット)」でつないで記述したものです(詳しくは本誌2004年4月号の連載第1回をご覧ください)。同様に,移動先のスライドであるinfo_slideのターゲットパスはthis._parent.info_slideと記述できます。

 したがって,info_btnに記述するスライド移動のActionScriptコードは(リスト1[拡大表示])の(a)のようになります。[スクリーン]パネルで「プレゼンテーション」を選択し,画面に配置してあるinfo_btnを選択したら,[アクション]パネルを開いて*8コードを記述してください。question_btnとpresent_btnにも同じように,対応するスライドを表示するコードを,それぞれの[アクション]パネルに記述します(リスト1(b)(c))*9。これでボタンをクリックして,スライド間を移動できるようになります。

 もう一つ残ったボタンsubmit_btnには,各スライドのコンポーネントにきちんと値が入力・選択されているかどうかをチェックするコードを記述します。本来であれば入力した情報をWebサーバーに送信するのでしょうが,その方法についての説明は連載の後ほどの回に行いますので,今回は代わりに日経ソフトウエアのWebページを表示する処理を記述しておきましょう。

 TextInputコンポーネントに入力されている値はtextプロパティで取得します(リスト1(d)の(1))。デフォルト値は" "(空の文字列)ですので,この値と比較して入力済みかどうかを判断します。Listコンポーネントが選択状態にあるかどうかは,現在選択されているリスト項目を取得するselectedItemプロパティの値が,undefinedであるかどうかで判断します(リスト1(d)の(2))。undefinedは,変数に値がまだ代入されていないことを示す特別な値です。リスト1(d)では,個々のコンポーネントの入力・選択状態をいったんブール型変数*10に格納しておき,ifステートメントを使用してすべての変数の値がtrueの場合にのみWebページを表示するメソッド(getURL)を実行するようにしています。

 これで今回のアプリケーションは完成です。メニューで[ファイル]-[パブリッシュ]と選択し,Flashドキュメント(拡張子がflaのファイル)と同じフォルダに格納されたHTMLファイルあるいはFlashムービー・ファイル(拡張子がswfのファイル)をダブルクリックで開いて動作を確認してみましょう。


吉岡 梅(よしおか うめ)
山梨県在住のソフトウエア開発者。

◆下記のURLから,サンプル・プログラムを無償ダウンロードできます
http://software.nikkeibp.co.jp/software/download/down04c.html#200405