再生・停止する関数を作成して利用する
繰り返し実行する可能性があるまとまった処理は,関数にしておくと便利です。ActionScriptで関数を作成するには,
function 関数名(引数){ 処理 }
という形で記述します。リールを止める処理をリールの初期化処理とみなして「initReels」という名前の関数として定義し,それを呼び出すようにリスト1[拡大表示]を書き直してみました(リスト2[拡大表示])。リスト3[拡大表示]ではさらに,playメソッドを使ってリールのムービークリップを再生開始するstartReels関数と,指定したリールのムービークリップの再生を止めるstopReels関数を定義しています。ここで,配列変数reelsを宣言して,個々のリールへの参照で初期化していることに注目してください(リスト3の(1))。これによって,reels[0],reels[1]…でそれぞれreel1,reel2…を参照できるようになります。stopReels関数では配列変数reelsを使うことにより,引数として受け取った数値(Number型のデータ)で止めるリールを指定できるようにしています*10。
いよいよ最終段階です。図1[拡大表示]のスタート/ストップボタンを押すことによって,リールの回転をスタートしたり,ストップしたりできるようにしましょう。ボタン専用のレイヤーをメインのムービーに追加し,5フレーム目にキーフレームを作成します。そしてボタンの絵を一つ描き,メニューで[修正]-[シンボルに変換]を選択し(または[F8]),「シンボルに変換」ダイアログボックスを表示します。「名前」欄に任意の名前を入力し(reelButtonとしておきましょう),タイプとして「ボタン」を選択して[OK]ボタンを押せばボタンの完成です。
ボタンを作成できたら,このボタンをさらに三つ,ライブラリからメインのムービーのステージにドラッグアンドドロップして,図1のように配置します。一つはスタート用,残りの三つはそれぞれのリールを止めるためのボタンです。
スタート用のボタンを選択して[アクション]パネルを表示し,リスト4の(1)[拡大表示]のコードを記述します。ActionScriptで
on (イベントの種類) {
イベント発生時に実行する処理
}
というコードを記述すると,選択したボタンにイベントが発生したときにここに記述した処理を実行できます。このあたりは,VB(Visual Basic)やVBA(Visual Basic for Applications)に近いですね。同じように,リールを止めるボタンにそれぞれ,(2)~(4)のコードを記述します。この状態でムービープレビューを行って動作を確認してみましょう。5フレーム目まで再生したところでいったんリールが止まり,スタート用ボタンを押すとリールが回転を開始し,ストップ用ボタンを押すと個々のリールが停止することが確認できます。
☆ ☆ ☆
今回はここまでです。背景に絵や文字を入れたり,ボタンの絵を変更して,好みの外見に仕上げてみましょう。これだけでもそれなりに楽しめますが,どうせならスコアの計算や,スタート画面や終了画面なども付けてみたいところです。
次回は,こうした機能の作成を通じて,ActionScriptの制御構文,画面遷移の管理方法,変数値の管理と表示方法,乱数を使った初期化方法などを学習し,ゲームを完成させる予定です。完成したゲームをWebサイトにアップして,訪れた人が遊べるようにする方法についてもご紹介します。
下記のURLから、サンプル・プログラムを無償ダウンロードできます。
http://software.nikkeibp.co.jp/software/download/down04c.html#200410