アクションゲームの完成
~トラップの作成とデバッグ。そして完成へ~

ニードルトラップを作る!
今回のアクションゲームでは,エネミー(敵)は登場しないが,アクションゲームによくあるトラップは2種登場する。床に設置されているニードルと飛来してくるミサイルである。エネミーは登場しないものの,PCとの当たり判定はトラップもエネミーも基本的に同様なので,今回解説するトラップの作成と当たり判定が役立つだろう。
また,PCとの当たり判定については,前回,メダルの作成時に図入りで解説したので,前回を参照しつつ読んで頂きたい。
(1)ステージへの配置
ニードルトラップは下通路の床に設置されており,接触すると常にダメージを受ける(※1)。
ニードルトラップは,Fla画面1のように配置してあり,これは,PCのサイズや移動量,スクロール速度,メダルとの位置(トラップに当たらずメダルを取れるか)といった関連とのバランスを見て配置位置を決めてある。こういったバランス如何によってゲームのプレイ難度が変わってくるため,ステージデザインや調整は重要となる。
なお,実際のflaファイルはGameAct_final.fla(Flash CS3用のもの,またはFlash 8用のもの)を確認してほしい。
- ※1)
- 今回のゲームでは,ニードルトラップは常に出ているが,床下に隠れたり(当たり判定なくなり通過できる)現われたりを繰り返す作り方もできる。この場合は,床に隠れている時には判定を行わないよう作ればよい。
(2)作成と当たり判定
それでは,ニードルトラップ自体はどう作ってあるか,ニードルトラップのクリップ内へ入って解説していく。
if (_x - 24 <= ../pc:_x and _x + 24 >= ../pc:_x) {
if (../../:pc_posi == 0 and ../../:pc_dmg == 0) {//[1]
../../:pc_hp -= ../../:trap_n;//[2]
tellTarget ("../pc") {
gotoAndPlay ("dmg");//[3]
}
}
}
[1] ① まず,PCとトラップクリップとの座標範囲による当たりチェックを行い,次にPCの状態(下通路にいるか&ダメージ状態ではないか)チェックを行っている。これらの条件が満たされるとPCはトラップに衝突したとなる
[2] ② 衝突したら,PCのHP(耐久)からニードルトラップの攻撃力をマイナスしてダメージを与える。 PCのHPバーの減少については,前回に記したので参照されたし
[3] ③ PCをダメージモーションにする

