Flash Lite 1.1の基本的なスクリプト制御
Flash Lite 1.1でできないこと
前述で解説している通り、Flash Lite 1.1は古いバージョンがベースとなっているため、PC版のFlashコンテンツ開発時に比べ、できることが少なくなっています。
その主な違いとしては、次の通りです。
・enterFrameが使えない
・functionが使えない
・配列Arrayが使えない
Flash Lite 1.1では、enterFrameが使用できません。そのため、毎フレームごとに処理を行う場合は、空のムービークリップなどを使用し、フレームをループさせてスクリプトを実行させます(図2-1)。
PC版のFlashコンテンツ開発では、欠かすことのできないfunctionの関数定義がFlash Lite 1.1では使用できません。Flash Lite 1.1には、別の処理方法としてフレームラベルを利用したcall()関数が用意されていますので、こちらを使用していきます。ただし引数や戻り値を持たせることができないため注意も必要です(図2-2)。
何らかのデータや情報を配列化して記憶させた方が効率よく処理を行うことができるのですが、Flash Lite 1.1には配列変数が用意されていません。別の処理方法としてeval()関数にて仮想的に処理させていくこととなります。また、この方法だと配列の個数が取得できないことになります。そのため、必要に応じて個数を記憶するための変数も合わせて必要となってきます(図2-3)。
また、多重配列の場合は、変数名に「_」などの文字を記述していきましょう。数字だけで連結してしまうと、2けた以上になった場合には変数名が重複してしまうためです(図2-4)。
ボタンイベントとキーイベント
Flash Lite 1.1にてボタンイベントを行う場合は、まずボタンシンボルを作成して、ステージに配置させます。そしてボタンのインスタンスを選択し、ボタンアクションにスクリプトを記述していきます。
on(press) {
gotoAndPlay("start");
}
onハンドラのイベントは4種類がサポートされています(図2-5)。
Flash Lite 1.1のインタラクティブ再生では、キーイベントを受け取ることができます。キーイベントもonハンドラで記述していきます。
数字の2キーが押された時に実行するイベントは下記の通りです。
on(keyPress "2") {
trace("2キーが押されました");
}
ボタンに数字キーを対応させる場合には、「,」で区切って複数のイベントを指定できます。ボタンに数字キー[0]を対応させるには下記の通りです。
on(press, keyPress "0") {
//[ボタン処理]
}
また、ゲームなどでキャラクターを動かす場合などは、ボタンシンボルの必要性があまりありません。そのようなケースでは、空のボタンシンボルを作成してキーイベントを記述していくのがよく使われるテクニックとなります。