キャラの作成と操作&メダルの作成と当たり判定を作る
PC(プレイヤーキャラ)を作る!
プレイヤーが操作するPC(このゲームではロボット)の作成について解説していく。
次のFla画面1は完成したPCクリップ内となる。タイムラインの構成としては、PCの状態ごとに3つに区分けてある。作成時、PCにはどんな状態が必要かを考え、タイムラインを区分けることによってコントロールしやすくしている。
また、操作ボタンとHP(耐久)バーもPCクリップ内に含ませた。
実際のflaファイルGameAct_04.fla(Flash CS3用のもの、またはFlash 8用のもの)を確認してほしい。
(1)通常(走り)状態を作る
PCクリップの1フレーム目は、通常(走り)状態のフレームとなる。ここでの主なポイントとして、PCがダメージ中でもヤラレ状態でもない通常状態であることを示すのが大事となる。
PCの状態フラグの設定
前回紹介した「PCがダメージ状態か否か」フラグの値を0とし、通常(走り)時であると設定する。こういったPCの状態を示すフラグは、様々な状況(エネミー(敵)やトラップとの当たり判定、アイテムのゲット、何らかのイベント等々…)で使えるので、必ず用意しておいたほうが良いだろう。
走りアニメを作る
このゲームでは、通常時、ロボットはずっと走っているので、ロボットの走りアニメを描いてクリップ化し配置している。
(2)ダメージ中状態を作る
PCがトラップと衝突した場合、ダメージ中フレームが再生される。その際、PCのHP(耐久)が無くなっていたらヤラレ(爆発)状態へ強制移行させている。
ちなみに、ダメージ中はPCの操作ができなくなる。これは、単純に操作ボタンを配置しないことによって実現したが、PCの状態フラグによって操作できなくすることも可能。
PCの状態フラグの設定 & ヤラレ(爆発)への移行
「PCがダメージ状態か否か」フラグの値を1にし、ダメージ中であると設定する[1]。
(3)ヤラレ(爆発)状態を作る
ヤラレ(爆発)状態。メカものらしく派手な爆発にしてある。当然、ヤラレ(爆発)時は操作できない。
ゲームエンド画面への移行
フレーム最後、エンド画面へ移行する。
PCの操作ボタンを作る!
ケータイFlashゲームでは、クライアントの要望として、1ボタンでの操作[2]を要望されることが多々ある。ゲームによっては複数ボタンの意義はあるが、今回のアクションゲームではシンプルに1ボタン(5キー)とした。
このゲームでは、PCが通常(走り)時のみ操作可能なので、ボタンは通常(走り)時のみ配置してある。
これに関しても、flaファイルGameAct_04.fla(Flash CS3用のもの、またはFlash 8用のもの)を確認してほしい。
PCのHP(耐久)バーを作る!
HP(耐久)バーは、PCがトラップと衝突した際に減少する仕様になっている。HP(耐久)バークリップの作り方は、実物を見た方が分かり易いので、以降の解説と合わせて、flaファイルGameAct_04.fla(Flash CS3用のもの、またはFlash 8用のもの)をご覧頂きたい。
HP(耐久)バーの作り方としては、HP(耐久)を表す青色のムービークリップを、PCのHP(耐久)状態分、X座標方向にずらしていく(はみ出す部分はマスクで隠している)。そうすると、下地の赤色面積が増えていき、どんどんダメージを受けているように見える仕組み。
メダルを作り、PCとの当たり判定を作る!
それでは次に、PCが触れることによってゲットできるメダルの作成へ移ることにする。このメダルは、1つで500点になる。
実際のflaファイルGameAct_05fla(Flash CS3用のもの、またはFlash 8用のもの)を確認してほしい。
Fla画面7はメダルクリップ内だが、構造は単純で、PCとメダルクリップとの当たり判定を行い、衝突したらメダルゲットへ移行する。3フレーム目のメダルゲットからタイムライン最後までの間は、このメダルクリップが画面外へ外れるまでの間である。画面外へ外れたらフレーム1へ戻して再びメダルをステージに配置している。
(1)スコアへの加算
ルートにあるスコア変数「Score」へ加算している。
(2)PCとメダルクリップとの当たり判定を作る
前回にも記したように、FlashLite1.1には、ムービークリップ同士の衝突判定を行える「hitTest関数」が無いため、それに代わる判定を何かの方法で行うしかない。そこで筆者は、ゲーム制作本来の方法である「座標範囲による判定」を行っている。
このように、クリップの基準点を中心とした座標範囲を当たり有効範囲と設定し、クリップ同士の当たり判定を行う。この方法なら、両者がどのように動いて衝突しても当たり判定が行える。ここでとても重要なのは、当たり有効範囲の調整である。
当たり有効範囲の重要性
例えば≪衝突例②≫≪衝突例⑤≫を見ると、PCとメダルクリップは接触しているが、これはメダルゲットとみなしていない。プレイした感触として確実にゲットしたと見えなければならないからだ。‥が、当たり有効範囲がシビアになればゲーム難易度は上がっていくので、有効範囲を甘くするか辛くするかのさじ加減はとても重要となる。これがトラップやエネミーとの当たり判定なら、もっと重大である。