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

第12回 マップ冒険ゲームレクチャー(2) PCの移動とマップスクロールを作る!

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

PC移動とマップスクロールの基本を作成

前回から始まったマップ冒険ゲーム。今回は,PCを操作してマップを移動するまで作ります!皆さんも自分のマップを作って歩かせてね!

前回(第11回)に続き,今回は…

それでは,前回の基本レクチャーⅠ マップ移動の基本を作る!の続きをレクチャーしていこう。

前回は使用するマップを作ったので,今回は,そのマップのスクロールやマップ上を移動するPCを作成し,さらには障害物との判定も行っていく。

今回,使用するflaは,前回の「MapAdv_1」からマップスクロールやPCの移動処理を入れた「MapAdv_2」となり,そのflaを用いて進めていく。

Ⅰ-② マップ移動データを作る!

今回のまず手始めは「マップ移動データ」を作成する。このデータは,マップスクロールやPCの移動に必要となるもので,PCが一歩先へ移動可能かどうか,障害物があるなら回避移動するかどうかの判定に用いる注1)。

注1)
今回,マップ移動データを作成し,それを用いてマップスクロールやPC移動の制御を行うが,これは一つの方法であり,別の方法でも作れる(マップやPCの座標を参照して移動可能か判定するなど)。今回は,視覚的に解り易い&処理負荷の軽減といった理由でマップ移動データを作成して用いることにした。

(1)初期設定にマップ移動データを記述する

初期設定は前回でも解説したが,新たに追加した「マップ移動データ」関連と「PCの移動ウエイトフラグ」以外は前回と同じなので,ここでは,ポイントである「マップ移動データ」関連と「PCの移動ウエイトフラグ」のみ取り上げて解説する。

初期設定に追加したフラグとデータ

//PCの移動ウエイトフラグ
ido_wait = 0; ―①

//マップ移動データ
md = "111111111111111111111"
   add"100000000000000000001"
   add"100000000000021300001"
   add"100000000000031200001"
   add"100000000000000000001"
   add"100000000000000000001"
   add"100000000000000000001"
   add"100000000000000000001"
   add"100000000000000000001"
   add"100000000000000000001"
   add"100000000000213000001"
   add"102130000000312000001"
   add"103120000000002130001"
   add"100000000002133120001"
   add"100000000003120000001"
   add"100000000000000000001"
   add"100000000000000000001"
   add"100000000000000000001"
   add"100000000000000000001"
   add"111111111111111111111";┛②

//マップデータ1行数
md_xmax = 21; ―③
//PCのマップデータ上の位置
pc_md = 156; ―④

 PCが移動中は値を1にする。詳しい説明はPC移動の解説時に行う
 「md」という変数を用意し,値をデータとして使用。各数値の意味は…
0はそのマスへ移動可
1は進入不可
2は進入不可+回避移動を行う
3は進入不可+2と別方向へ回避移動を行う
 マップ移動データの1行の数=マップの横幅分。このデータの用い方は,PC移動の解説を参照
 マップ移動データ上,ゲーム開始時のPCの位置。このデータの用い方は,PC移動の解説を参照

マップ移動データについて,上記した数値の羅列だけではイメージ難しいと思うので,実際に使用するマップ絵にこれらのデータを並べてみた。次のFla画面1をご覧になれば,これら数値の意味がわかると思う。

Fla画面1 データをマップに載せたイメージ

Fla画面1 データをマップに載せたイメージ

このマップ上,マップ移動データはX方向に21列あり,障害物がなければ19歩分移動できる。

それでは,このマップ移動データを用いつつ,マップスクロールやPC移動を作成,レクチャーを進めていく。

Ⅰ-③ PC移動+マップスクロールを作る!

今回のゲームでは,PCの移動処理内でマップのスクロールも行っている。従って,PCの作成と移動処理の解説を進めながらマップスクロールの解説も行っていく。

PCの移動については,次のフローのように,プレイヤーからのキー入力を受け,ボタン→PCクリップへ処理展開する。

(1)キー入力によるPCとマップ移動処理の流れ

プレイヤーから移動キー(2,8,4,6)の入力があると,次の手順でPC移動とマップをスクロールさせている。ここでは,8キー(正面向き,↓方向へ移動)を例に紹介する。

画像

…以上,ざっとこの流れでPC移動とマップのスクロールが実行される注2)。

では,全体の流れが掴めたところで,ボタンとPCクリップ内の解説へ移っていく。

注2)
今回の「MapAdv_2」では,PCが一歩進む=マップを逆方向に一歩分(16pixel)スクロールさせるという単純な作りだが,次の「GameMapAdv」レクチャーでは,もっと凝ったスクロール制御を行っていく。

著者プロフィール

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

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

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


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

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

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

コメント

コメントの記入