Godot 4 | 自動読み込み(Auto Load)でプレイデータを管理する

2023-09-23Godot 4,Godot 4 基本

Godot 4 | 自動読み込み(Auto Load)でプレイデータを管理する

ゲームエンジン「Godot 4」を触りはじめて、ゼーブ&ロードは先の話として、まずはプレイ中のデータの管理場所について気になっていましたが、自動読み込み(Auto Load)にスクリプトやシーンを登録してプロジェクト全体で呼び出せるようにするのが一般的なようですね。

確認環境
  • Windows11 22H2
  • Godot v4.1.1

自動読み込み(Auto Load)にプレイデータを管理する

自動読み込み(Auto Load)では、スクリプトを登録する事が可能です。

試しに「Game.gd」というスクリプトにて「coin」という変数を宣言し、自動読み込みに登録有効化してみました。

@export var coin = 100
自動読み込みにスクリプトを登録
自動読み込みにスクリプトを登録

実行中のシーン内のスクリプトから接続処理なしに「Game.coin」という名前で呼び出す事が可能です。

print(Game.coin)

なるほど、シーンで使うデータはシーンの切り替え時に破棄されるとして、これならPhaser3でやってたみたいに「GameData」「PlayData」という配列に全部入れておけれそうですね。

自動読み込み(Auto Load)にシーンを登録する

自動読み込み(Auto Load)にはシーンも登録可能ですが、使いどころを調べないとです。

試しにシーンツリーで動かしているメインシーンを登録してみたら実行時のエラーとはならずに画面がビコビコしてたので危ないですね。

常に置いておくUIなんかを作っておくのかな。
いや、ゲームデータやプレイデータもスクリプトひとつよりシーンから作ればインスペクターで情報が確認しやすいとかあるのかもしれません。