戦略シミュレーションSRPGの作り方7 駒の移動範囲を自由に設定する

Unity SRPG(戦略シミュレーションゲーム)の作り方


Unity入門の森オリジナル本格ゲーム制作講座はこちら
7種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

この記事は戦略シミュレーションRPGのプログラミング入門講座の第7回目です。

前回に引き続きキャラクターの移動操作を実装していきます。前回はSRPGにおいて必須となる移動させたいキャラクターとマップのマスの紐づけを行い、実際にキャラクタを指定したマスまで移動させる処理を実装しました。

前回の記事:

SRPGの作り方6 キャラ移動とシミュレーションゲームのターン進行システムを連動させる
この講座はシミュレーションRPGの作り方について説明しています。今回はその第6回目になります。 前回はSRPGに必須のマップ上の移動用ブロックのマス表示処理やあるマスを選択した状態で別のマスを選択すると元々選択していたマスを非表示にする処...

今回の記事ではキャラクターの移動範囲という概念を作成します。キャラごとに移動範囲を設定することで個性を持たせたり、シミュレーションRPGにおける戦略の幅を出していくことができます。

今回は将棋の飛車、チェスのルークの駒のような縦横好きなマスだけ進める移動パターンを実際に作っていきます(その後、移動パターンを増やします)。

それでは、第7回講座、始めていきましょう。


【Line登録者限定のプレゼントもあるよ!】

キャラクターの移動範囲を設定する

この回でのキャラクターの移動範囲は「上下左右に行き止まりまで」と制限します。(他のパターンは講座の後半に実装します)

まずはこの「移動範囲をタップした場合のみキャラクターが移動する」という形を作ります。

ブロックの通行可能設定

現在マップを構成するブロックは草と水場の2種類があります。

草ブロックは通行可能とし、水場ブロックは行き止まりとする為ブロックデータに変数を追加します。

MapBlock.cs

追加したbool変数passableが通行可能フラグとなっており、オン(true)のブロックは通行可、オフ(false)の場合は通行不可とします。

それではプレハブ側のInspectorからフラグをセットしましょう。

草ブロックプレハブ(Block_Grass)のpassableパラメータにチェックを入れてオン(true)状態にします。

水場ブロックは通行不可の為パラメータの設定はオフ(false)のままです。

指定地点から移動できる範囲をリスト化する

通過可能なブロックが識別できるようになったので、マップマネージャ側に「指定地点から到達可能なブロックを全て調べる」メソッドを実装していきます。

続きを読む

このコンテンツはパスワードで保護されています。 コンテンツを読みたい方はUnity入門の森ショップ(https://unityforest.stores.jp/)で講座閲覧権を取得してね。

まとめ

これでキャラクターの移動範囲が視覚化されてプレイヤーにも分かるようになりました。

  • 列挙型は特定の意味を持った定数をまとめて定義して扱える型です。
  • リストは中身の追加や削除が可能な配列というイメージです。Addメソッドで追加し、Containsメソッドで指定した要素を中身に含むかチェックできます。
  • 配列やリストの中身には順番に0からの番号(インデックス)が存在し、特定の中身を参照する時にはその番号を指定します。

次回はGUIの実装など、よりゲーム的な部分を拡張していきます。

次の記事:

ターン制戦略シミュレーションRPGの作り方8 パラメータ・属性システムGUI表示
この記事は古く昔からの名作タクティクスオウガやファイアーエムブレムやファイナルファンタジータクティクスのような名作ターン制戦略シミュレーションRPGの作り方を解説する講座の第8回目です。 前回はプレイヤーの移動範囲の設定や移動可能範囲エリ...

Unity SRPG(戦略シミュレーションゲーム)プログラミング講座に戻る>>



Unity入門の森オリジナル本格ゲーム制作講座はこちら
7種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

コメント

タイトルとURLをコピーしました