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

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

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

そしてこれが実際のスクリプト。

//PCの移動ウエイトを1(移動中)にする
../:ido_wait = 1;

//PCの現在位置から移動先の値をチェック
ido_next = substring (../:md, ../:pc_md + ../:md_xmax, 1);

//チェック結果による分岐
if (ido_next == 0) {
 ../:pc_posi = 1;
 ../:pc_md += ../:md_xmax;
 gotoAndPlay ("Fido");    ┛解説①A参照
} else if (ido_next == 1) {
 ../:pc_posi = 1;
 gotoAndStop ("Fstp");       ┛解説①B参照
} else if (ido_next == 2) {
 if (../:pc_posi == 1) {
  gotoAndPlay ("L");
 } else {
  ../:pc_posi = 1;
  gotoAndStop ("Fstp");
 }                           ┛解説①C参照
} else if (ido_next == 3) {
 if (../:pc_posi == 1) {
  gotoAndPlay ("R");
 } else {
  ../:pc_posi = 1;
  gotoAndStop ("Fstp");
 }
}                            ┛解説①D参照
〔解説①A〕

値が「0」の場合。

PCの向きフラグの値を1(↓向き)にし,マップ移動データ上のPC位置を一歩下へ移動した位置(移動前の位置+マップ移動データ1行数)に変更する(ex参照⁠⁠。そして,実際に一歩下へ移動させるため「Fido」フレームへgotoする。

(ex)移動前のマップ移動データ上のPC位置を100とした場合,一歩下へ移動すると,100+21=121となり,マップ移動データ上のPC位置は121に書き換わる。

〔解説①B〕

値が「1」の場合。

移動先に障害物があり進入できないので,PCの向きフラグの値を1にするのみ。終了処理を行うため「Fstp」フレームへgotoする。

〔解説①C〕

値が「2」の場合。この場合は,移動先に障害物があり進入できない+左方向へ回避移動なので,ここではその処理を行っている。

まず初めに,PCがすでに正面(↓方向)を向いているかPCの向きフラグの値をチェックし,その値が1なら,左方向への回避移動を行うため「L」フレームへgotoする。しかし1以外なら,PCが正面以外を向いている時に8キーを入力されているので,PCが正面を向くのみで終了する。PCの向きフラグの値を1にする。そして終了処理を行うため「Fstp」フレームへgotoする。

〔解説①D〕

値が「3」の場合。

基本的な処理内容は〔解説①C〕と同様で,右方向への回避移動となり,goto先は「R」になる。

【スクリプト②】の解説

ここでは,実際にPCを下方向へ移動させている。PCを下方向へ16pixel移動させると共にマップを上方向へ16pixelスクロールさせると,PCを画面の真ん中に保持したまま一歩下方向へ進むことになる。

【スクリプト③】の解説

移動終了となり,移動ウエイトを0に戻しておく。これにより,移動キーの入力が再び有効となる。

(5)そしてPCは移動し,マップの端でSTOP!

移動キーが入力され,前項(4)の処理によってPCは移動し,やがてマップの端に着く。この時,それ以上進めないようにしないと,PCはマップの端を通り過ぎて存在しないダークゾーンへ突入してしまう。しかし,この処理は簡単で,というか,マップ移動データの外周は全て1にしてあるので,前項(4)の処理によって,PCは必然的にマップの端で止まることになる。


…ということで,今回は終了!

次回まで,皆さんもオリジナルマップを作ってPCを移動させてみてはどうでしょう?

マップ移動データで進入可不可の設定(0,1,2,3)をするだけで,すぐに歩き回れるマップになるので,街とかダンジョンとか作って動き回ってみるのも面白いかも!?

それでは,また!

お疲れさま!!今回は以上です!さて次回は,イベントの作成をしちゃいます!イベントが入ると,マップ冒険ゲームだ~!って感じになるわよ。お楽しみに!!

著者プロフィール

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

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

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


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

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

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