FlashLiteゲームをつくる(3)もぐらたたき

著作権について
サンプルに使用しているグラフィックは流用禁止。
スクリプトは非営利流用可。営利目的使用はアフィリエイトを含めて要相談。

1.もぐらたたきをつくる

基本的なアクションゲームの見本として、「もぐらたたき」ゲームを作成する。

ゲーム中の基本的な流れは
・乱数で飛び出るモグラを決定。
・MCを切り替えて、飛び出る。
・押されたボタンが乱数と同じならヒットフレームに移動。
・時間が来たら、モグラを戻す。
・繰り返す。

という感じ。

構成としては
(1)タイトル
(2)ゲーム中
(3)ゲーム終わり
の3パートで構成される。

2.タイトル

変数の初期化をしておく。
また、今回はちょっとしたアニメーションを入れた。

loopct=20;
score=0;

初期化した変数は、全体のループ回数とスコア(得点)。

3.ゲーム中


ゲーム中は、乱数で飛び出るモグラを決定して、飛び出る表示を行う。
一定時間はキーを受け付け、その後、モグラを戻す処理。
また、一定時間あけて、先頭にもどり、モグラをだす。
loopctの回数ループしたら、ゲーム終了となる。

rr=random(9)+1;
//trace("cnt="add loopct add "/"add rr);

tmc="m" add rr;

tellTarget(tmc){
    gotoAndStop(2);
}

飛び出すモグラを乱数で決め、そのムービークリップに対して、飛び出す処理を行う。

モグラムービークリップがm1〜m9まで9個ある。
モグラのフレームによって
(フレーム1)引っ込んだところ
(フレーム2)出たところ
(フレーム3)打たれたところ(今回使わない)
(フレーム4)打たれたところ+ヒットマーク
以上の4つのパターンがフレームに配置してある。

戻す処理はこちら

tellTarget(tmc){
    gotoAndStop(1);
}

ゲーム中、キー入力が可能な部分ではボタンを配置し、キー入力を監視する。

on (keyPress "1") {
    if (rr == 1) {
        kk = 1;
        call("hitproc");
    }
}
on (keyPress "2") {
    if (rr == 2) {
        kk = 2;
        call("hitproc");
    }
}
【途中3〜8まで略】
on (keyPress "9") {
    if (rr == 9) {
        kk = 9;
        call("hitproc");
    }
}

ループの頭で決めた乱数とキーが同じなら、”モグラを叩けた”という処理を行う。
fla編集中の最後のフレームに、call用のキーフレームを用意し、そこにスクリプトのみを書き込むと、そのフレームのスクリプトをサブルーチンの用に呼ぶことが出来る。

score+=10;
tellTarget("m" add kk){
    gotoAndPlay(4);
}
gotoAndPlay("hit");

モグラを叩けた”時には、ヒットマーク付きのモグラを表示し、メインのタイムラインは”hit”に移動。

loopct--;
if (loopct>0) {
	gotoAndPlay("main");
}

フレームで時間待ちをしてから、ループの最後にカウンタを減らして、次のループにはいる。

3.ゲーム終わり

得点を表示して、ゲーム終了。
記録をサーバーに送ったり、いろいろ工夫の余地はあるが、今回はサンプルなので、このへんで終わり。
0キーでトップへ戻るボタンを配置。

4.重ね合わせ

このゲームの一つのポイントはモグラが穴から出てくるアニメ。
完全に穴の下にモグラを置くと、飛び出た時に頭が穴からでないなどの不都合がある。

穴の手前はモグラより前、穴の後ろ側はモグラより後ろの表示順にしている。

穴の絵
モグラ
穴の手前の絵

という順番。
表示の順番はレイヤーの順番で決まる。

5.まとめ

FlashLiteでアクションゲームを作るときには、
・複数のボタンを押さない
・過度の連射をさせない
などを考慮したゲームのデザイン(企画)が必要。

また、ムービークリップの構造とスクリプトは連携しているので、今回のヒットマークのようなパターンを覚えていくと便利。

動作サンプルをこちら。

FlashLiteサイト[usuaji Games]

■FlashLiteのサンプル mogura1.swf

http://hspcenter.com/i/

※ケータイ用のサイト。PCで見ると10キーの並びが違うので、苦労する。

サンプルのflaファイルのダウンロードはこちら
http://hspcenter.com/i/fla/mogura1arc.zip