Inventory(在庫)によってアイテムを管理する

2024年1月7日日曜日

Features GDevelop Tutorial

X f B! P L


はじめに

前回、アンケートのコメント欄から配列と高速ループについてのリクエストをいただきました。

その際に、インベントリによるアイテム管理のできるプラットフォーマーゲームもご希望なさっておられたので、今回はできる限り簡単にインベントリを実装する手順をご紹介いたします。

今回制作するゲームはオーソドックスなロックマンタイプの横スクロールアクションゲームで、道中にあるアイテムを獲得しないと先に進めないといった、小規模ではありますがメトロイドヴァニアの要素も取り入れていきたいとおもいます。

そこで必要になってくるのがインベントリです。

まず、プラットフォーマーゲームを作成するのですが、今回もほぼすべて無料アセットを使用します。

まずはPlayerとなるキャラクターをアセットストアで用意します。


今回は「Grafxkid」からアニメーションなど一式すべて揃ったキャラを使用します。

こちらのLilWizというキャラクターは待機状態、移動、しゃがみ、地上攻撃、空中攻撃など、すでに必要最低限のアニメーションが揃っているので、そのままプロジェクトに追加します。

本記事はインベントリの解説ですので、プラットフォーマーゲームの製作工程に関しては割愛させていただきます。

基本的なプラットフォーマーゲームの制作工程は下記の記事をご参考くださいませ。

知識ゼロからの超チュートリアル Vol.1

知識ゼロからの超チュートリアル Vol.1

はじめに こちらはインストールしたてほやほやの右も左もわからない方向けの記事になります。 ゲーム制作の基本を押さえつつも作業工数をできる限り抑えてゲームを1本完成させましょう。 (ゲーム制作自体が初めての方はこちらの記事も合わせてお読みください)...

インベントリは配列など変数を使って管理もできますが、GDevelopには非常に便利な機能が標準装備されております。
その名も「インベントリ」です。
この機能を使えば、アイテムの追加、削除、装備などアイテム管理に必要なことは一通り可能です。
さらに凝ったものにしたい場合は変数を使って管理することができますが、アイテムを格納、装備、破棄は標準機能のみでじゅうぶんです。

インベントリのアクション

インベントリで使用できるアクションは下記のとおりです。

  • アイテムを追加
    インベントリにアイテムを追加します。

  • アイテムを装備する
    アイテムを装備済みとしてマークします。アイテム数が 0 の場合、装備済みとしてマークされません。

  • アイテムの削除
    インベントリからアイテムを削除します。

  • インベントリをシーン変数に保存する
    インベントリのすべてのアイテムをシーン変数に保存し、後で復元できるようにします。

  • アイテムの最大数を設定する
    インベントリに追加できる指定したアイテムの最大数を設定します。デフォルトでは、各項目に許可される数は無制限です。

  • アイテムの所持数を無制限に設定する
    インベントリ内に無制限にオブジェクトを収納することを許可します。これは各項目のデフォルトの設定です。

  • シーン変数からインベントリをロードする
    シーン変数からインベントリのコンテンツをロードします。

インベントリの条件

つぎに、条件です。
  • アイテム数
    インベントリ内のアイテムの数を特定の値と比較します。

  • インベントリ内にアイテムがある
    指定されたアイテムの少なくとも 1 つがインベントリ内にあるかどうかを確認します。

  • アイテム装備
    アイテムが装備されているかどうかを確認します。

  • アイテムがいっぱいか否か
    アイテムがインベントリ内で許可されている最大数に達しているかどうかを確認します。

イベントの例

この中で特によく使うアクションは
  • アイテムの追加
  • アイテムの装備
  • アイテムの削除

この中で特によく使う条件は

  • インベントリ内に特定のアイテムがある/ない
  • アイテムを装備している/いない

最低限、これらの条件とアクションだけで簡単なアイテム管理は可能です。

今回は、アイテムを獲得する条件として「プレイヤーがアイテムと衝突した」にします。
アクションは「その他アクション」→「ゲームメカニック」→「インベントリ」→「アイテムを追加する」→「インベントリ名を入力」→「アイテム名を入力」

特定の条件とアイテム追加のアクションで「特定のアイテムを所有している」という条件が使えるようになります。


ただこれは内部でアイテムがインベントリに追加されただけで、視覚的にはなにも変化がありません。
視覚的にアイテムを所持しているような表現を実装するには、「"インベントリ"に"アイテム"を所持している」という条件をもとに、スプライトやテキストを表示して視覚的に確認できるようにします。

そして、その条件を特定の効果を発動するトリガーにできます。
例えば「ブーツを所持しているとき、2段ジャンプを許可する」といった具合です。

実際にこのインベントリを使用したサンプルゲームとプロジェクトファイルをご用意しました。

サンプルゲーム

操作説明

■ジョイスティック操作
左:左移動
右:右移動
下:しゃがむ
攻撃ボタン:攻撃
ジャンプボタン:ジャンプ
ブリンクボタン:ブリンク

■キーボード操作
Leftキー:左移動
Rightキー:右移動
Downキー:しゃがむ
Zキー:攻撃
Spaceキー:ジャンプ
Xキー:ブリンク

インベントリをタップすると開閉して所持アイテムを確認できます。
ポータルに重なっているときに下を押すとスタート地点にワープします。

■アイテム効果
ブーツ:2段ジャンプが可能になります。
魔法の杖:攻撃が強化され、茶色のレンガを破壊可能になります。
シールド:敵の放つ火の玉を防ぎます。
ポーション:10秒おきにヘルスを1Point回復します。
リング:魔法の球体がプレイヤーの周囲を周回して攻撃します。
マント:ブリンク(横方向への高速移動)が可能になります。
羽:ジャンプボタンを押し続けている間、ゆっくりと滑空します。
グローブ:壁をつかむことができます。
グリモワール:攻撃が強化され、敵を自動追尾するようになります。

プロジェクトファイル

https://ux.getuploader.com/GDevelop/download/16

こちらのファイルは使用アセットの規約範囲内でご自由にご利用ください。


最後までお読みいただきありがとうございました😆
もしよろしければ下記のボタンから応援よろしくお願いします🙇



こちらの記事はいかがでしたか?
ぜひご評価をおねがいします🙏

プロフィール


My name is Cratier.
I'm an indie game developer.


Read more...

このブログを検索

Translate

UPDATE

最新コメント

人気の投稿

アーカイブ

リンク元ランキング

カテゴリー

アンケート



Q.クレイティアのGD覚書でお気に入りのコンテンツはどれですか?

チュートリアル
TIPS
RTA Develop
雑記
That's談
その他


Q.あなたのGDvelop使用歴はどれくらいですか?

1ヶ月未満
半年未満
1年未満
1年以上
2年以上
3年以上
4年以上
5年以上

オープンチャット

LINEアカウント

ご連絡フォーム、またはLINEから お問い合わせ、ご要望、ご指摘など、お気軽にご連絡くださいませ。

ご連絡

名前

メール *

メッセージ *

💗雑談CHAT💗
お気軽にお話しください🐹
同時接続人数:

もしよろしければ下記のボタンから応援よろしくお願いします🙇




QooQ