Unity5(C#)初心者・入門者向けチュートリアル ひよこのたまご

AndroidやiOS向けアプリを簡単に作れるゲーム開発環境Unity(ユニティ)の使い方を、チュートリアル方式で一緒に学びましょう!

【Unity開発】Player Prefs(セーブ機能)まとめ【ひよこエッセンス】

いつもひよこのたまごをご利用下さいましてありがとうございます!
おかげ様でチュートリアル数も10ゲーム目となりました!
チュートリアル一覧は
こちら からどうぞ!


スポンサーリンク

Unity5.0.0f4 Personal(2015年5月)

 

f:id:hiyotama:20150504205926p:plain

 

ひよこエッセンスの時間です〜

今回はゲームにデータをセーブするPlayer Prefsという機能について解説します〜

 Player Prefs(セーブ機能)まとめ

 

①Player Prefsの基本的な使い方

Player Prefsクラスを使うと、int型,float型,string型のデータを各端末に保存することができます〜

データを特定するために保存キーを第一引数に指定するのが基本的なルールとなっていて、これは文字列ならなんでもOKです~


それでは具体的に見ていきましょう~

 

保存する時は

PlayerPrefs.SetInt(string key, int i);

PlayerPrefs.SetFloat(string key, float f);

PlayerPrefs.SetString(string key, string s);

 

データを読み込む時は

int i =PlayerPrefs.GetInt(string key);

float f =PlayerPrefs.GetFloat(string key);

string s =PlayerPrefs.GetString(string key);

 

で、読み込むことができます〜

 

ちなみにデータを読み込もうとしたけどデータが存在しないという場合は、GetIntなどの第2引数にデフォルト値を設定しておくと、その値を変数に保存します〜ゲームをダウンロードして初めて起動した時などはまだ一度もデータを保存していないため、この対応が必要となってきます〜

 

【例】

int highScore = PlayerPrefs.GetInt ("HighScoreKey", 0);

この場合HighScoreKeyというキーワードで保存されたことが一度も無かったら、

変数highScoreには0が入ります〜

 

②Player Prefsのその他の使い方

SetInt等で保存されるのは、実際にはアプリケーション終了時であり、不具合等でアプリが落ちた時にはセーブされていない可能性があります〜

 

アプリ終了前のタイミングでデータを保存したい時はSetInt等で保存後、

PlayerPrefs.Save();

 

を実行してください〜

 

しかしSaveはSetIntに比べ負荷が高いため、必要なタイミングでのみ使用することをオススメします〜

 

その他にも特定の保存キーを削除する

PlayerPrefs.DeleteKey(string key);

 

キーが存在するかを確認する

bool b =PlayerPrefs.HasKey(string key);

 

全てのデータを削除する

PlayerPrefs.DeleteAll();

 

などの便利機能がありますので、ご活用下さい〜

 

③具体的に使ってみる

それでは具体的に使ってみましょう〜以下のエッセンスで行ったチュートリアルに付け足す形で進めていきたいと思います〜

 

Buttonオブジェクトに付いているSaveScriptを以下のように加筆修正して下さい〜

 

 

それでは文字を入力して、

 

f:id:hiyotama:20150522180229p:plain

 

ボタンを押して文字を表示して、

 

f:id:hiyotama:20150522180436p:plain

 

一旦ゲームを終了した後に再度実行すると・・・

 

f:id:hiyotama:20150522180436p:plain

 

ちゃんと保存されてます!

 

 

以上、ひよこエッセンスでした〜

ありがとうございました〜