ゲームにセーブ機能をつけたら無敵なんじゃないかと思いました。
EasySaveはUnityアセットストアで販売されている超簡単セーブ機能じっそうアイテムです。
私のようなセーブ実装初心者や、プログラムなんもわからん勢でもすぐに使えます!みたいな記事をどこかで見た気がするので、購入して使ってみました。
このアセットはEasySaveからEasySave2に進化して、更にEasySave3が最新バージョンぽいのですが、アセット上はEasySaveという表記みたいです。
ただ本当にプログラム一ミリもわからない私からすると、ブログや公式の使い方説明をみても何が何だかさっぱりわからず苦戦したので、簡単にやり方をメモしておこうと思いました。初心者向けのそんな記事です。
【使い方】
まず公式のガイドをみても書いてあるこれ。
ES3.Save("myInt", 123);myInt = ES3.Load("myInt", defaultValue);
これですべてみたいです。
私にはこれが何を言っているのかさっぱりわからず、長らく10ヶ月くらい悩んだ(実話)のですが、やっと意味がわかってきたので自分のために解説します。
ES3.Save("myInt", 123);
↑まずES3.Saveの部分はセーブしますよっていうことらしいです。
"myInt"っていう名前はセーブするキーの名前のことみたいです。つまり自分で決めてよい部分。
123っていうのが入れる数値。つまりmyIntに123を入れてセーブしますよってことですね。すごく簡単だしわかりやすい!
myInt = ES3.Load("myInt", defaultValue);
↑これがぜんぜんわかりませんでした。
どうやら左側のmyIntというのはロードした数値を入れたい変数名のことらしいです。キーと同じ名前なのでどういうルールなのかさっぱりわかりませんでした。まちがいなく鳥以下の脳みそ。
ES3.Loadというのはロードしますよっていうことみたいです。
基本は右側の"myInt"の値を左側のmyIntに入れるのですが、まだ一度もセーブしてなかったりした場合はキーの中身がないので、ロードする代わりにdefaultValueの値を入れる、ということみたいです。すごく簡単。
【まとめ】
セーブ
ES3.Save("自分で決めたキーの名前", 入れたい数値);
ロード
ロードした数値を入れたい変数 = ES3.Load("自分で決めたキーの名前", もしセーブしてなくて中身がない場合に代わりに入れたい数値);
こういうことみたいです。たしかに超簡単です。実装できてよかった…。むしろなんでわかんなかったんでしょうか。謎が謎を呼ぶ。
【使い方の一例】
ES3.Save("yukichi", 10000);
→ yukichiというキーに10000をセーブします。
saifu = ES3.Load("yukichi", 0);
→ saifuにyukichiのデータを入れます。
→ yukichiのデータが空の場合はsaifuに0を入れます。
※事前にsaifuをintとか何かでちゃんと宣言しておきましょう!
すっっっっっごくわかりやすいですね!さすがイージーセーブ!簡単すぎます!買ってよかったです!!EasySaveさいこう!!!
【その他のメモ】
- 使わないEasySave2を消そう!みたいなブログ記事をよく見かけますが、昔の話らしいのでスルーがよさそうです
- Easy Save 3 ManagerとかいうのがAutoSave機能を使うと現れるらしいです、よくわかりませんがそうらしいです
- 当然ですがintだけじゃなくてオブジェクトなど様々なタイプを保存できるみたいです、公式ガイドをみてください
- よく半額セールになっている気がするので、購入はUnityアセットのセール時を狙ってみるのも良いかもしれません
【参考サイト様】
こちらの記事たちは自分用ブックマークでもあります。ただ私みたいな初心者はいろんなブログを参考にしてしまうと逆に実装方法に迷ってしまいそうな気も…私だけかな。リンク先の記事それぞれに感謝です!
【おわりに】
セーブ機能さえ付けてしまえばあとはこちらのものなので、俄然ゲーム開発が楽しくなってきました。もう作れないゲームは無いんじゃないでしょうか。天狗も真っ青の自信にまみれています。
難しいことはアセット(お金)を使って解決するスタイル、とてもよいとおもいます。私でも使えたのでたぶん小学生くらいでも使えるんじゃないかと思います。ゆりかごの時代でもいけそう。
まだそこまで機能を使いこなせていないのですが、10ヶ月かかってついに実装がうまくいったことが嬉しくて勢いで書いてしまいました。プロのUnity使いの方々からすると「PCを使うにはまず電源を入れます!」みたいな記事ですみません…EasySaveは最高です!!
※追記
記事を投稿したすぐ後に、フォロワーの方々に色々とアドバイスをいただきました。こちらも参考にしてもらえたらと思います!
水を差すようで申し訳ないのですが
— いこさみ@アプリ公開中 (@ikosami) October 23, 2020
EasySaveが無くても、Unityの標準の
PlayerPrefs.SetInt("myInt", 123);
var myInt = PlayerPrefs.GetInt("myInt", 0);
で同じことができます。
どうやらUnityの標準機能でセーブすることが可能みたいです。
pcだとレジストに保存されて、セーブデータを置くには良く無いと言う話がありますhttps://t.co/HbYOJQ5Y65
— さめみず@のびのび (@samemizu) October 23, 2020
ただあまり推奨される方法ではないみたいなので、やっぱりEasySaveを使うメリットは大きいみたいです。様々な型を保存できるのがこのアセットの一番のすごいところですし。ともあれ情報感謝です!
結論:EasySaveはすごい!
おしまい。
0 件のコメント:
コメントを投稿