前回の記事ではRPGに欠かせない宿屋(回復イベント)にあたる処理を作成しました。
前回の記事:
今回の記事ではアイテムショップとなる道具屋を作っていきます。
消費系のアイテムだけでなく、武器・防具の売買処理も作成します。
道具屋(アイテムショップ)の作成
それではまずは必要な素材をダウンロードし、道具屋を作っていきましょう!
いつも通りぴぽや倉庫さんの画像を使っていきます。
アセットを用意して道具屋プレハブを作る
使用するスプライトは次のものにしています。プロジェクトに追加後、適切に分割してください。
(※今回利用する画像はぴぽや倉庫様(https://pipoya.net/)の素材となります)
まずは道具屋になるプレハブを作成していきます。
この講座のその1で「CharacterPrefab」を先に作成しているので、そのプレハブから派生したプレハブを作成します。(Prefab Variantとして必ず作成してください。)
作成したプレハブの名前は「ItemShopNPC」にしてください。保存先はどこでもいいですが、この記事ではAssets > Prefabsの中に保存しています。
プレハブを作成したら必ず「Image」に道具屋の画像を設定してください。
また、プレハブ作成後、シーンからは削除してください。
作成したプレハブには「NPC」スクリプトをアタッチしてください。
スクリプトをアタッチした後、インスペクター上の「NPC」コンポーネントの設定は次のようにしてください。
1 2 3 |
//道具屋のNPCコンポーネントの設定 ## NPCコンポーネント DoMovable:false |
プレハブの設定が終わったら、次は「FieldMap」プレハブに直接配置してください。配置する際は他のNPCと同じGameObject階層に配置してください。
配置の際は「NPC」コンポーネントの「Pos」フィールドで位置を決めてください。
記事では次のようにしています。
道具屋用のイベントとスクリプトの作成
次に道具屋用のイベントを作成していきます。
新しく「ItemShopEvent」クラスを作成してください。スクリプトの保存先はお好みの場所でOKですが、記事ではAssets > Scripts > MassEventフォルダーに保存しています。
C#スクリプトの内容は次のようにしてください。
まとめ
今回の記事では道具屋の処理を1から実装し、実際にアイテムを購入できるようになりました。
現段階では、実装したものを購入できるアイテムの情報とその説明文のみがパラメータになっています。
もしこのアイテム屋さんを拡張するなら既に持っているアイテムの表示や残金も一緒に表示するなど、改造してみるのもいいでしょう。
まとめると以下のようになります。
- 道具屋のアセットとイベントを作成
- 道具屋用のUIを作成
- アイテムを購入できるようにした。
- 武器を購入した時は装備するようにし、既に持っている武器を自動的に捨てるようにした。
それでは次の記事に行ってみましょう!
コメント