前回の記事ではRPGのパラメータやアイテムを表示するためのメニューを作成し、キー入力で開くようにしました。
前回の記事:
2DRPGの作り方12 UnityとC#で作るRPG用メニュー画面・メニュー切り替え処理
今回はUnity C# 2DRPGの作り方講座の第12回目です。 前回はScriptable Objectを主に使いながらパラメータ設定やアイテムシステムの実装を行いました。 前回の記事: 今回の記事では、パラメータの確認や、作成したアイテ...
今回の記事では開閉だけでなく、実際にアイテムの選択コマンドやアイテム欄の取得・アイテム管理を実装し、実際にアイテムを試用できるインベントリメニューを実装していきます。
アイテムインベントリの作り方
ここからはメニュー操作を実装していきます。
- アイテムを選択したらアイテムメニューを開く
- アイテムメニューからアイテムを選択したらそのアイテムを使用する
- とじるを選択したらメニューを閉じる
メニューではカーソルキーでカーソルを移動させ、スペースキーを押すとカーソルの位置にある項目を実行するようにします。
また、Qキーを押すと一つ前のメニューに戻り、戻るものがない時はメニューを閉じるようにします。
メニュー操作の実装にはいくつかのコンポーネントを作成する必要があります。
- Menuコンポーネント:メニュー操作を行う
- MainMenuコンポーネント:実際の画面に表示するメニューを表す
- MenuRootコンポーネント:メニュー用のGameObjectでルートを表すものにアタッチする。
- MenuItemコンポーネント:メニューの項目を表す。
それではまず「Menu」スクリプトを次のものに上書きしてください。
まとめ
前回の記事と今回の記事でメニュー操作・アイテムインベントリを実装していきました。
メニュー周りの処理が長くなったため2つの記事に分割しましたが、無事に実装できたでしょうか?
色々なコンポーネントが出てきて構造を把握するのが難しいかもしれませんが、まとめると以下のようになります。
- メニュー処理は「Menu」コンポーネントとその派生クラスで作成していく
- メニューを表すGameObjectにはルートオブジェクトに「MenuRoot」コンポーネントをアタッチする
- ルートオブジェクトの子GameObjectの中でメニュー項目にしたいものに「MenuItem」コンポーネントをアタッチする
- 「MenuItem」コンポーネントには項目を実行した時の挙動を設定できる。
戦闘システムを作成するときも今回の記事で作成した「Menu」コンポーネント関係を使用していくので頑張って慣れてください。
一度作った機能を再利用していくことで開発の効率化につながります。
それでは次の記事に行ってみましょう!
次の記事:
2DRPGの作り方14 UnityとC#でRPGの宿屋(回復イベント)を開発する方法
前回の記事まででアイテムインベントリやメニューに使うための部品をUnityとC#で作成してきました 前回の記事: 今回の記事からはフィールドマップに回復イベント(宿屋)と道具屋さんを追加していきます。今回はまず回復イベントを作っていきましょ...
コメント