ケータイFlashゲーム制作レクチャー

第4回 アクションゲームレクチャー(3) キャラの作成と当たり判定

この記事を読むのに必要な時間:およそ 0.5 分

キャラの作成と操作&メダルの作成と当たり判定を作る

アクションゲームレクチャーも大詰めに差し掛かった4回目は,操作するキャラクターの作成を中心に,FlashLite1.1での当たり判定の仕方もレクチャーします!

PC(プレイヤーキャラ)を作る!

プレイヤーが操作するPC(このゲームではロボット)の作成について解説していく。

次のFla画面1は完成したPCクリップ内となる。タイムラインの構成としては,PCの状態ごとに3つに区分けてある。作成時,PCにはどんな状態が必要かを考え,タイムラインを区分けることによってコントロールしやすくしている。

また,操作ボタンとHP(耐久)バーもPCクリップ内に含ませた。

実際のflaファイルGameAct_04.flaFlash CS3用のものまたはFlash 8用のものを確認してほしい。

Fla画面1 PCクリップ内

Fla画面1 PCクリップ内

(1)通常(走り)状態を作る

PCクリップの1フレーム目は,通常(走り)状態のフレームとなる。ここでの主なポイントとして,PCがダメージ中でもヤラレ状態でもない通常状態であることを示すのが大事となる。

PCの状態フラグの設定

前回紹介した「PCがダメージ状態か否か」フラグの値を0とし,通常(走り)時であると設定する。こういったPCの状態を示すフラグは,様々な状況(エネミー(敵)やトラップとの当たり判定,アイテムのゲット,何らかのイベント等々…)で使えるので,必ず用意しておいたほうが良いだろう。

../../:pc_dmg = 0;

「../」はパスを表し,一つ上の階層という意味。なので,この場合は二つ上の階層にある変数pc_dmgの値を0にする,となる。パスと階層の詳しくは,テクニカルノートの「パス」の項目を参照。

走りアニメを作る

このゲームでは,通常時,ロボットはずっと走っているので,ロボットの走りアニメを描いてクリップ化し配置している。

(2)ダメージ中状態を作る

PCがトラップと衝突した場合,ダメージ中フレームが再生される。その際,PCのHP(耐久)が無くなっていたらヤラレ(爆発)状態へ強制移行させている。

ちなみに,ダメージ中はPCの操作ができなくなる。これは,単純に操作ボタンを配置しないことによって実現したが,PCの状態フラグによって操作できなくすることも可能。

Fla画面3 PCクリップ内 ダメージ中状態

Fla画面3 PCクリップ内 ダメージ中状態

PCの状態フラグの設定 & ヤラレ(爆発)への移行

「PCがダメージ状態か否か」フラグの値を1にし,ダメージ中であると設定する※1)。

../../:pc_dmg = 1;

if (../../:pc_hp <= 0) { //PCのHP(耐久)が0以下ならヤラレ(爆発)へ移行させる
 gotoAndPlay ("baku");
}
※1
このゲームでは,ダメージ中はトラップとの当たり判定やメダル入手をスルーする仕様になっている。

(3)ヤラレ(爆発)状態を作る

ヤラレ(爆発)状態。メカものらしく派手な爆発にしてある。当然,ヤラレ(爆発)時は操作できない。

Fla画面4 PCクリップ内 ヤラレ(爆発)状態

Fla画面4 PCクリップ内 ヤラレ(爆発)状態

ゲームエンド画面への移行

フレーム最後,エンド画面へ移行する。

stop ();
tellTarget ("/") {
 gotoAndPlay ("end"); //ルートに置かれたエンド画面へ移行させる
}

PCの操作ボタンを作る!

ケータイFlashゲームでは,クライアントの要望として,1ボタンでの操作※2を要望されることが多々ある。ゲームによっては複数ボタンの意義はあるが,今回のアクションゲームではシンプルに1ボタン(5キー)とした。

このゲームでは,PCが通常(走り)時のみ操作可能なので,ボタンは通常(走り)時のみ配置してある。

これに関しても,flaファイルGameAct_04.flaFlash CS3用のものまたはFlash 8用のものを確認してほしい。

※2
ケータイFlashでは,利用できる端末キーに制限がある上,電源キーやブラウジングキー等を誤って押してしまう危険性があるため,クライアント指定がなければ,極力押しミスが起きないキーを使用する配慮が大事となる。そういう意味では,1ボタンなら5キーが安全(右利きでも左利きでも操作感が変わらない)だろう。

Fla画面5 PCクリップ内 操作ボタン

Fla画面5 PCクリップ内 操作ボタン

on (keyPress "5") {
 if (../../:pc_posi == 0) {
  _y = 88;
  ../../:pc_posi = 1;
 } else {
  _y = 188;
  ../../:pc_posi = 0;
 }
}

5キーが押されたら,PCの位置(上通路か下通路か)によってPCクリップの表示Y座標を変え(下なら上へ,上なら下へ移動),PCの位置フラグの値も変えている

著者プロフィール

西村直樹(にしむらなおき)

クリエイティブスタジオ Studio無限界 代表。アニメーターを経て,ゲームクリエイターとなる。ゲーム制作では,企画シナリオ,ディレクション,絵関連など幅広くこなし,ゲームクリエイターとして現在で19年となる。また,ゲームスクール,アミューズメントメディア総合学院にて,創立年から企画系講師を行い,クリエイター育成にも携わっている。現在は,マネジメントを行いつつ,コンシューマゲーム,ケータイコンテンツ,書籍執筆,その他様々なプロジェクトを進めている。

Studio無限界
URLhttp://www.mugenkai.com/


藤田和久(ふじたかずひさ)

プログラマ/テクニカルスーパーバイザー。メインフレームと呼ばれる大型コンピュータのシステム開発から,WebサイトのCGI,そしてケータイFlashに至るまで様々な環境のプログラミングに携わる。現在はStudio無限界の活動の傍ら,都内複数の専門学校において講師として,ゲーム制作,Webサイト制作,システムエンジニアリングなどの授業を担当。 また,Studio無限界とは別にFMS(個人)として,システムエンジニアリングの分野でも 活動している。

Studio無限界
URLhttp://www.mugenkai.com/

コメント

コメントの記入