2DRPGの作り方15 UnityとC#で道具屋(アイテムショップ)を作ろう | Unity入門の森 ゲームの作り方

2DRPGの作り方15 UnityとC#で道具屋(アイテムショップ)を作ろう

Unity C# 2DRPGゲームの作り方 ~ドラクエ風レトロRPGを作ろう!~


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

前回の記事ではRPGに欠かせない宿屋(回復イベント)にあたる処理を作成しました。

前回の記事:

2DRPGの作り方14 UnityとC#でRPGの宿屋(回復イベント)を開発する方法
前回の記事まででアイテムインベントリやメニューに使うための部品をUnityとC#で作成してきました 前回の記事: 今回の記事からはフィールドマップに回復イベント(宿屋)と道具屋さんを追加していきます。今回はまず回復イベントを作っていきましょ...

今回の記事ではアイテムショップとなる道具屋を作っていきます。

消費系のアイテムだけでなく、武器・防具の売買処理も作成します。


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

道具屋(アイテムショップ)の作成

それではまずは必要な素材をダウンロードし、道具屋を作っていきましょう!

いつも通りぴぽや倉庫さんの画像を使っていきます。

アセットを用意して道具屋プレハブを作る

使用するスプライトは次のものにしています。プロジェクトに追加後、適切に分割してください。

(※今回利用する画像はぴぽや倉庫様(https://pipoya.net/)の素材となります)

まずは道具屋になるプレハブを作成していきます。

この講座のその1で「CharacterPrefab」を先に作成しているので、そのプレハブから派生したプレハブを作成します。(Prefab Variantとして必ず作成してください。)

作成したプレハブの名前は「ItemShopNPC」にしてください。保存先はどこでもいいですが、この記事ではAssets > Prefabsの中に保存しています。

プレハブを作成したら必ず「Image」に道具屋の画像を設定してください。

また、プレハブ作成後、シーンからは削除してください。

作成したプレハブには「NPC」スクリプトをアタッチしてください。

スクリプトをアタッチした後、インスペクター上の「NPC」コンポーネントの設定は次のようにしてください。

プレハブの設定が終わったら、次は「FieldMap」プレハブに直接配置してください。配置する際は他のNPCと同じGameObject階層に配置してください。

配置の際は「NPC」コンポーネントの「Pos」フィールドで位置を決めてください。

記事では次のようにしています。

道具屋用のイベントとスクリプトの作成

次に道具屋用のイベントを作成していきます。

新しく「ItemShopEvent」クラスを作成してください。スクリプトの保存先はお好みの場所でOKですが、記事ではAssets > Scripts > MassEventフォルダーに保存しています。

C#スクリプトの内容は次のようにしてください。

続きを読む

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

まとめ

今回の記事では道具屋の処理を1から実装し、実際にアイテムを購入できるようになりました。

現段階では、実装したものを購入できるアイテムの情報とその説明文のみがパラメータになっています。

もしこのアイテム屋さんを拡張するなら既に持っているアイテムの表示や残金も一緒に表示するなど、改造してみるのもいいでしょう。

まとめると以下のようになります。

  • 道具屋のアセットとイベントを作成
  • 道具屋用のUIを作成
  • アイテムを購入できるようにした。
  • 武器を購入した時は装備するようにし、既に持っている武器を自動的に捨てるようにした。

それでは次の記事に行ってみましょう!

2DRPGの作り方16 Unityでドラクエ風ターン制戦闘システムを作る
前回まででアイテムショップ・道具屋の処理を作成しました。 前回の記事: アイテムを手に入れたり武器・防具を装備できるようになったら今度はそれを使う場面を作りましょう。 今回の記事からはRPGでオーソドックスなドラクエ風のターン制戦闘を作成し...

「Unity 2DRPGゲームの作り方講座」に戻る>>



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

コメント

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