Language:
Page Info
Engine Version:

ゲームをブループリントで保存する

SaveGame オブジェクトの作成

SaveGame オブジェクトを作成するには、 Blueprint クラスを作成する を参照してください。[Pick Parent Class (親クラスを選択)] ダイアログが開いたら、 [Custom Classes] を展開し、 [SaveGame] を選択します。検索ボックスを使って SaveGame へ直接ジャンプすることができます。新規のブループリントに MySaveGame と名前を付けます。

savegame.png

新規の SaveGame object ブループリントで、保存したい情報に対する変数を作成します。

このサンプルでは、 SaveSlotName と UserIndex に対するデフォルト値の保存の宣言に使用する変数もあるので、 この SaveGame オブジェクトに保存される各クラスには、これらの変数を個別に設定する必要はありません。ここの部分はオプションです。デフォルト値が変更されない場合、上書される保存スロットは 1 つになります。

SaveGameVariables.png

ブループリントのコンパイル後に、変数のデフォルト値を設定できます。

変数の保存

保存設定全体のスナップショットです。クリックすると拡大表示されます。

まず最初に、Create Save Game Object ノードを使って、インスタンスを作成するか、Save Game Class ドロップダウンを新規ブループリントの名前 (ここでは 「MySaveGame」) に設定されていることを確認してください。Create Save Game Object ノードは、Save Game Class 入力で指定したタイプに合うように自動的に出力ピンの種類を変更して、Cast To ノードを使わず直接それを使えるようになります。結果として生じたオブジェクトを Promote to Variable を使って変数へ保存して、作成したばかりの MySaveGame オブジェクトを後で再利用できるようにします。

SaveGameBP_1.png

Save Game Instance 変数に保存されたカスタムした SaveGame オブジェクトのコピーがあるので、そこに情報を送ることができます。その時に Player Name が "PlayerOne" に 設定されます。情報を保存したい他の変数に対しても、同じ手順を行います。

SaveGameBP_2.png

Save Game To Slot ノードを使って SaveGame オブジェクトの情報をハードドライブに保存することができます。Save Game To Slot ノードはファイル名とユーザー ID を受け取ります。 このサンプルでは前もって作成されたデフォルト値になります。

SaveGameBP_3.png

変数のロード

保存設定全体のスナップショットです。クリックすると拡大表示されます。

この最初のステップは任意で、 SaveGame デフォルト内の保存スロットおよびユーザー ID にもとづきます。ここではまず、空の SaveGame オブジェクトを作成し、 デフォルトの SaveSlotName と UserIndex がそこから読み取れるようにします。繰り返しますが、これは全てのゲームの実装に適用するわけではありません。

LoadGameBP_1.png

Load Game From Slot ノードを使って SaveGame object Blueprint のインスタンスを作成することができます。Cast To ノードは結果のオブジェクトを MySaveGame として処理します。こうしておくと、それが変数に格納されて後で簡単にアクセスできます。

LoadGameBP_2.png

新規の SaveGame オブジェクトがハードドライブからロードされれば、変数値をそこから読み取り、必要なアクタまたはクラスへ割り当てたり、以下のように直接しようすることができます。

LoadGameBP_3.png