フレームとgotoを利用した画面遷移

Time-stamp: "2011-12-15 Thu 10:33 JST hig"

画面遷移とは

ゲームなどでは, 開始画面, ゲーム本編, エンディングのように, 複数の「画面」が用意されることがあります. さらに, ゲーム内の「面」や「ステージ」も別の「画面」と思いたいことがあります. これを Flash Lite で実現するには, 物体の生成と消滅のように, 画面上の各要素を生成/消滅させる, 表示/非表示するようにすればいいのです.

しかし, Flash IDEのドローツールでステージ上にグラフィックスを作り込んだ場合など, このやり方が精神的によくない場合もあります. 「別の画面に行く」と考えた方が頭が整理される場合があります. それには, Flash Lite 1.0 の遺物とも言える, フレーム間の遷移が役に立つこともあります. ActionScript 3.0 ではこの仕組みは使いにくくなっています.

次のサンプルを通してみてみましょう.

  1. 空白のtestgoto.flaを用意します.
  2. 1,5,10フレームをキーフレームにします. プロパティ上でフレームラベルを設定できるので, それぞれ, "frame_start" "frame_game", "frame_end" としてみましょう.
  3. フレーム frame_start にボタンを置き, インスタンス名を "start_button" とします. フレームアクションでtestgoto_start.asをincludeします.
  4. フレーム frame_game に何らかの(移動したらわかるような)シンボルをインスタンス化し, インスタンス名を "rect" とします. フレームアクションでtestgoto_game.asをincludeします.
  5. フレーム frame_end に, このフレームに来たとわかるような何らかのMovieClipを置きます. フレームアクションでtestgoto_end.asをincludeします.
testgoto_start.as