マップの接続について②
前回に引き続き、マップの接続について試行錯誤していました。
結論から言うと、無事実装できました!
どの案を採用したか
案2の「同じ数字は同じ部屋として扱う(エリアマップで繋げる)」を採用しました。
mapファイルとは別にareaファイルを用意しそれを元にマップを接続しました。
RPGの場合、案3のイベントチップで接続するほうが汎用性が高いのですが、2Dアクションは基本的に上下左右方向にしか移動しないのでその利点を生かすために案2にしました。
具体的には
プレイヤーに今まで使っていた座標(数値座標)のほかに現在いる部屋の番号(部屋番号)を記憶させました。
エリアマップ
- 数字は部屋番号
- 赤丸は基準座標(1の場合(4,3))
- 青丸は自機がいる場所(図では(5,3))
部屋番号と数値座標と組み合わせることにより、現在いるエリア座標を求めることができます。(図の場合(5,3)が現在いる部屋)
この状態で、自機が右に移動すると予め記憶したエリア番号と現在の場所が異なるため、それを元にマップロード&自機の再配置を行います。
ロードするmapファイルは部屋番号で、数値座標やスクロール値も調整します。
感想
このマップ接続の実装以外にも、今まで使ってなかったSceneManagerも実装してシーン切り替えを行うようにしたため今までで一番苦戦しました。
今持っている技術をフル活用したという形ですね。
これでようやく探索型アクションのスタートラインに立てました。
「探索型」と名乗るにはアイテムを配置しないといけないため次はその作業ですね。
そういえば今回いつも先に作っているボス戦をまだ作っていないんですよね...
まぁステージクリア型より重要度は低いので実装はもう少し先になりそうです。
おまけ
Ci-enのプロフィールを更新しました。
意外と長く続けられていて、まだ余裕があるので週2~3ぐらいで記事投稿していこうと思います。
プランに関しても追記しました。
当サークルでは、フリープランでも体験版の先行プレイができるようにする予定です。
スタープラン(有料プラン)もリワードを書きましたが、未だに実装するかどうか悩んでいる感じです。
とにかく体験版公開に向けて頑張っていくのでよろしくお願いします。