はじめに
前回、アンケートのコメント欄から配列と高速ループについてのリクエストをいただきました。
その際に、インベントリによるアイテム管理のできるプラットフォーマーゲームもご希望なさっておられたので、今回はできる限り簡単にインベントリを実装する手順をご紹介いたします。今回制作するゲームはオーソドックスなロックマンタイプの横スクロールアクションゲームで、道中にあるアイテムを獲得しないと先に進めないといった、小規模ではありますがメトロイドヴァニアの要素も取り入れていきたいとおもいます。
そこで必要になってくるのがインベントリです。
まず、プラットフォーマーゲームを作成するのですが、今回もほぼすべて無料アセットを使用します。
まずはPlayerとなるキャラクターをアセットストアで用意します。
本記事はインベントリの解説ですので、プラットフォーマーゲームの製作工程に関しては割愛させていただきます。
基本的なプラットフォーマーゲームの制作工程は下記の記事をご参考くださいませ。

知識ゼロからの超チュートリアル Vol.1
はじめに こちらはインストールしたてほやほやの右も左もわからない方向けの記事になります。 ゲーム制作の基本を押さえつつも作業工数をできる限り抑えてゲームを1本完成させましょう。 (ゲーム制作自体が初めての方はこちらの記事も合わせてお読みください)...
インベントリは配列など変数を使って管理もできますが、GDevelopには非常に便利な機能が標準装備されております。
その名も「インベントリ」です。
この機能を使えば、アイテムの追加、削除、装備などアイテム管理に必要なことは一通り可能です。
さらに凝ったものにしたい場合は変数を使って管理することができますが、アイテムを格納、装備、破棄は標準機能のみでじゅうぶんです。
インベントリのアクション
インベントリで使用できるアクションは下記のとおりです。- アイテムを追加
インベントリにアイテムを追加します。 - アイテムを装備する
アイテムを装備済みとしてマークします。アイテム数が 0 の場合、装備済みとしてマークされません。 - アイテムの削除
インベントリからアイテムを削除します。 - インベントリをシーン変数に保存する
インベントリのすべてのアイテムをシーン変数に保存し、後で復元できるようにします。 - アイテムの最大数を設定する
インベントリに追加できる指定したアイテムの最大数を設定します。デフォルトでは、各項目に許可される数は無制限です。 - アイテムの所持数を無制限に設定する
インベントリ内に無制限にオブジェクトを収納することを許可します。これは各項目のデフォルトの設定です。 - シーン変数からインベントリをロードする
シーン変数からインベントリのコンテンツをロードします。
インベントリの条件
つぎに、条件です。- アイテム数
インベントリ内のアイテムの数を特定の値と比較します。 - インベントリ内にアイテムがある
指定されたアイテムの少なくとも 1 つがインベントリ内にあるかどうかを確認します。 - アイテム装備
アイテムが装備されているかどうかを確認します。 - アイテムがいっぱいか否か
アイテムがインベントリ内で許可されている最大数に達しているかどうかを確認します。
イベントの例
この中で特によく使うアクションは- アイテムの追加
- アイテムの装備
- アイテムの削除
この中で特によく使う条件は
- インベントリ内に特定のアイテムがある/ない
- アイテムを装備している/いない
最低限、これらの条件とアクションだけで簡単なアイテム管理は可能です。
今回は、アイテムを獲得する条件として「プレイヤーがアイテムと衝突した」にします。
アクションは「その他アクション」→「ゲームメカニック」→「インベントリ」→「アイテムを追加する」→「インベントリ名を入力」→「アイテム名を入力」
特定の条件とアイテム追加のアクションで「特定のアイテムを所有している」という条件が使えるようになります。
そして、その条件を特定の効果を発動するトリガーにできます。
例えば「ブーツを所持しているとき、2段ジャンプを許可する」といった具合です。
サンプルゲーム
■ジョイスティック操作
左:左移動
右:右移動
下:しゃがむ
攻撃ボタン:攻撃
ジャンプボタン:ジャンプ
ブリンクボタン:ブリンク
■キーボード操作
Leftキー:左移動
Rightキー:右移動
Downキー:しゃがむ
Zキー:攻撃
Spaceキー:ジャンプ
Xキー:ブリンク
インベントリをタップすると開閉して所持アイテムを確認できます。
ポータルに重なっているときに下を押すとスタート地点にワープします。
■アイテム効果
ブーツ:2段ジャンプが可能になります。
魔法の杖:攻撃が強化され、茶色のレンガを破壊可能になります。
シールド:敵の放つ火の玉を防ぎます。
ポーション:10秒おきにヘルスを1Point回復します。
リング:魔法の球体がプレイヤーの周囲を周回して攻撃します。
マント:ブリンク(横方向への高速移動)が可能になります。
羽:ジャンプボタンを押し続けている間、ゆっくりと滑空します。
グローブ:壁をつかむことができます。
グリモワール:攻撃が強化され、敵を自動追尾するようになります。
プロジェクトファイル
https://ux.getuploader.com/GDevelop/download/16こちらのファイルは使用アセットの規約範囲内でご自由にご利用ください。
現状GDの情報をここまで詳述した日本語サイトはここだけなのでとても有難いです!
返信削除非常に嬉しいお言葉を頂き励みになります!
削除今後とも、皆様のニーズに寄り添って記事を投稿していきたいです。
ですので、もしよろしければニーズをどんどんお寄せください
コメントありがとうございます!