前回までで敵との戦闘に関わるシステムを全て作り終えました。
ランダムエンカウントで敵と戦うドラクエ風のRPGに欠かせない処理が出来上がりましたね。
前回の記事:

2DRPGの作り方21 Unityでランダムエンカウントによる敵戦闘を実装しよう
前回の記事では戦闘終了後の経験値獲得・レベルアップ処理を実装しました。前回の記事:今回の記事ではランダムエンカウントを実装していきます。ランダムエンカウントとはマップを移動すると敵と遭遇し戦闘シーンに入る機能になります。この講座ではフィール...
今回の記事では、RPGでプレイヤーに喜びを与えるアイテム(宝箱)をダンジョンマップに追加していきます。
アイテムを2Dマップチップで作られたダンジョンに配置し、獲得する処理を実装していきましょう。
宝箱の作成
宝箱を表すイベントクラスの作成
それでは先に「TreasureBoxEvent」クラスを実装していきます。
新しく「TreasureBoxEvent.cs」というスクリプトを作成してください。保存先はお好みでOKですが、記事ではAssets > Scripts > MassEventフォルダーに保存しています。
「TreasureBoxEvent.cs」の内容は次のようにしてください。

アイテムを取得するもの

アイテムがいっぱいの時のもの
まとめ
今回の記事では宝箱をマップに配置できるようにしてきました。
村人や回復屋などと同じ形式で追加できたので、そこまで難しいものではなかったかもしれません。
宝箱以外にもマップに何かしらのイベント要素を追加する際もこの記事と同じような作業を行っていけば作れます。
この作業ではアセットの数が増えていく問題もありますが、その辺りはマップのデータ構造の問題になるのでこの講座では割愛して進めていきます。
また、この記事では一度開いた宝箱はダンジョンマップから出てまた入った時に復活するようになっています。
この辺りはセーブ機能の実装時に改良していくのでしばらくはこの状態でいきます。
今回の講座内容をまとめると以下のようになります。
- 宝箱用の「MassEvent」クラスを追加
- 宝箱用のプレハブを作成
- ダンジョンマップに宝箱を配置した。
- 一度開いた宝箱からはアイテムが取得できないようにした。
それでは次の記事に行ってみましょう!

2DRPGの作り方23 ボス戦イベントを作成してシンボルエンカウントさせよう
前回の記事でダンジョンマップにアイテム取得用の宝箱イベントを置けるようになりました。前回の記事:今回の記事では、RPGのクライマックスを飾るボス戦を作ります。まずはボス戦イベントをダンジョンマップに追加していきます。通常のランダムエンカウン...
コメント