フォームアプリケーションもムービークリップで構成する
ムービークリップとタイムラインが「フォームアプリケーション」や「スライドプレゼンテーション」でも使われていることを確認しましょう。Flashを起動したら,「フォームアプリケーション」形式のドキュメントを新規作成してください。そして,開発画面の中央(ステージ)上にある「フォーム1」に右側の[コンポーネント]パネルからButton(ボタン)コンポーネントを一つ配置します。
次に,画面左側の[スクリーンアウトラインペイン]で「アプリケーション」を選択して画面上部を見てください。「タイムライン」という名前のパネルが表示されていますね(図1[拡大表示])。タイトルバーだけが表示されていてフレームが表示されていないときには,タイトルバーをクリックしてください。
[タイムライン]パネルを眺めると,最初のフレームに白丸が一つ書かれていることがわかります。次に,[スクリーンアウトラインペイン]で「フォーム1」を選択してみましょう。すると,最初のフレームに今度は黒丸が一つ表示されます。
タイムラインのフレームは,そのフレームに何のデータも割り当てられていない場合には白丸を,絵やムービーなどのデータが割り当てられている場合には黒丸を表示するようになっています。先ほど「フォーム1」にボタン・コンポーネントを一つ配置しましたから,フォーム1の第1フレームに黒丸が表示されます。「アプリケーション」には何も配置していませんから第1フレームに白丸が表示されたわけです。このことからもわかるように,「アプリケーション」と「フォーム1」はそれぞれ異なるタイムラインを持っています。
さらに,別々のタイムラインを持っていることから想像できるように,「アプリケーション」や「フォーム1」はFlash上でそれぞれ,一つのムービークリップとして扱われています。それだけではなく実は,ボタン,コンボボックス,リストと言ったFlashが用意しているGUIコンポーネントはすべてムービークリップで,それぞれ独自のタイムラインを持っています。すなわち,Flashではフォームアプリケーションを,アニメーションと同様に,ムービークリップの集まりとして扱っているわけです。
コンポーネントを使用してアプリケーションを作成する場合,「コンポーネントごとに独自のタイムラインを持っている」ということを知っておいてください。これが以降に説明するActionScript独自の変数「タイムライン変数」を理解するカギになります。
ActionScriptでは3種類の変数を使える
ActionScriptのプログラムで使用できる変数には,「ローカル変数」「タイムライン変数」「グローバル変数」の3種類があります(表1[拡大表示])。
ローカル変数はプログラミング経験者にはおなじみでしょう。この変数は任意の関数内のみで有効になります。例えば,リスト1[拡大表示]のようにフォームを読み込んだときに起動するloadイベント・ハンドラで宣言した変数は,ローカル変数となり,このイベント・ハンドラの中でだけ有効です。loadイベントの処理が終了すると破棄されます(カコミ記事「変数は宣言して使うのがオススメ」を参照)。
変数は宣言して使うのがオススメ
使いやすさを重要視するスクリプト言語であるActionScriptでは,変数の宣言は必須ではありません。また,変数を宣言する際のデータ型の指定も必須ではありません。このあたりはVB(6.0以前)やVBA(Visual Basic for Applications)と同じです。しかし,バグを防ぐという観点からは,変数とデータ型は宣言して使う方が望ましいでしょう。 変数の宣言には,varステートメントを使用します。例えば,二つの変数a,bを宣言するには次のようにコードを記述します。 var a, b;変数のデータ型を指定して変数を宣言するには,変数名の後に「:」(コロン)を記述し,その後にデータ型(クラス名)を記述します。例えば,変数aをString型(文字列),変数bをNumber型(数値)で宣言する場合には次のようにコードを記述します。 var a:String, b:Number;データ型を指定して宣言した変数に対して,異なるデータ型の変数を代入しようとすると,エラー・メッセージが表示されます。例えば,[アクション]パネルに以下のように文字列型で宣言した変数aとデータ型を指定しないで宣言した変数bに,「100」という数値を代入するステートメントを記述します。 on load {
|
つづく…
吉岡 梅(よしおか うめ) 山梨県在住のソフトウエア開発者。 |
http://software.nikkeibp.co.jp/software/download/down04c.html#200407