セーブ・ロードの方法!

お久しぶりです!

最近はPS4のDETROIT Become Humenにドハマりしてい為、ブログとUE4の事はすっかり頭からすっ飛んでいたが、ようやく頭と体がUE4に戻りたがってきた為、活動を再開する事にした。

 

DETROIT Become Humen、面白いですよ!(おすすめです!)(宣伝)

 

今回はタイトル通り、「ゲームのセーブ・ロード」の方法だ。

 

意外と簡単なので身構える必要はないと思う。

 

今回は、「自分のステータスと自分の位置をセーブ・ロード」するという形式で行く。

 

SaveGameの作成

SaveGameクラスのBPを作成。

SaveGameは、値の保存を行う事が出来る。金で言えば「ATM」のようなもの。

名前はご自由に。僕は「MySaveGame」と付けた。

f:id:Free_Gamer:20180813011818p:plain「MySaveGame」を開き、2つの変数を用意。

SaveMoney・・・所持金をセーブする為の変数。

SaveLocation・・・キャラの位置をセーブする為の変数。

f:id:Free_Gamer:20180813012338p:plain

デフォルト値は不要。これでSaveGameの設定は以上だ。

 

 

キャラクターBP

変数を用意。

Money・・・所持金(ステータス)デフォルト値「100」Integer型の変数。

イベントグラフ

所持金の減算

「10」ずつ減らしていく。

f:id:Free_Gamer:20180813011345p:plain

セーブ処理

f:id:Free_Gamer:20180813012701p:plain

「CreatSaveGameObject」のSaveGameClassには先程作成した「MySaveGame」を指定。

f:id:Free_Gamer:20180813012830p:plain

 

GetActorLocationで現在の位置を、「SaveLocation」に保存。

現在の所持金「Money」を「SaveMoney」に保存。

f:id:Free_Gamer:20180813013139p:plain

 

「SaveGametoSlot」で、保存した情報に「名前を付けて保存する」処理を行っている(個人的解釈なので間違いの可能性あり)

SlotNameには任意の名前を入力。僕は「SaveSlot」と入れた。

UserIndexはよくわからん。

f:id:Free_Gamer:20180813013512p:plain

ちなみに、保存された内容は自分のPCのフォルダに保存される。

UnrealProjects→プロジェクト名(今回の場合は「TEST」という名前にしてある)→Saved→SaveGamesに保存されている。

先程SlotNameに入力した名前「SaveSlot」という名で保存されている。

f:id:Free_Gamer:20180813014221p:plain

 

ロード処理

f:id:Free_Gamer:20180813014518p:plain

「LoadGameFromSlot」で、保存した内容をロードする。

キャストが必要。「MySaveGame」をキャストする。

f:id:Free_Gamer:20180813014834p:plain

「MySaveGame」から保存した内容(SaveLocation・SaveMoney)を参照する。

SetActorLocationで前回セーブした位置に移動する。

前回セーブした所持金「SaveMoney」をMoneyに渡す。

f:id:Free_Gamer:20180813015043p:plain

 

これでプレイしてみよう!

youtu.be

まず、所持金を50まで減らして、好きな位置でセーブしてみよう!

スタートした位置からかなり離れた位置まで移動し、所持金を50まで減らしてセーブをした。

その後、セーブした位置から遠く離れた場所に移動し、ロードした結果しっかりと前回セーブした位置に移動した。

これで自分の位置がしっかりセーブされているのが分かった!

 

だが、肝心の所持金はどうだろう??

50まで減らしてセーブしたところで、ロードしてからまた減らそうとしてもそのまま40、30、20・・・と減っていくのは当然なのだから、果たして所持金までしっかりセーブされているのか分からないだろう。

簡単に確かめられる。

 

もう一度、ゲームをプレイしてみよう。

youtu.be

先程のセーブした情報が、PCのフォルダにずっと残っているので、いきなりロードが可能。

なので、前回セーブした位置からいきなりロードできる。

普通、プレイ開始して所持金を減らしたら、デフォルト値は「100」なので90、80、70・・・と10ずつ減っていく。

だが、ロードしてから減らしてみると、いきなり40、30、20・・・と減っている。

これで所持金もしっかりセーブされているのが分かった!

 

それではまた!^^ノシ