Unity データの保存&読み込み PlayerPrefs
今回は、Unityの「データを保存&読み込む方法」を書きます。
データを保存する方法を何通りもありますが、今回は「PlayerPrefs」を書きます。
簡単にセーブ&ロードができます。
データを保存するには、このようにやります。
・Javascript
var test : int = 2;//保存する値 PlayerPrefs.SetInt('save', test); //SetInt(キー(ファイル名?), データ)
データを読み込むには、このようにやります。
・Javascript
if (PlayerPrefs.HasKey('save')) { //データがあるか? Debug.Log( PlayerPrefs.GetInt('save') ); }
実行結果
保存方法のコードを少し詳しく書いていきます。
「SetInt('save', test)」の引数ですが、第1引数(「save」の部分)は、キーです。
キーは、ファイル名みたいな感じと思うとわかりやすいと思います。
で、第2引数(「test」の部分)は、保存するデータです。
ここで、注意が必要なのが、型を指定して保存する所です。
上のコードでは、「SetInt」となっています。この場合は「int型」しかを保存できません。ここにString型などをいれるとエラーになります。
String型を保存するには、「SetString」、float型を保存するには、「SetFloat」とします。
コードで書くとこんな感じです↓
・Javascript
var int_test : int = 2; var float_test : float = 2.7; var string_test : String = 'hello'; PlayerPrefs.SetInt('int_save', int_test); PlayerPrefs.SetFloat('float_save', float_test); PlayerPrefs.SetString('string_save', string_test);
次は、データを読み込むコードです。
こちら↓の部分は、データが存在しているかのチェックをしています。
if (PlayerPrefs.HasKey('save'))
「HasKey('save')」の引数は、キーです。保存したときに指定したキーを引数にいれます。
別に、この部分は、なくても大丈夫です(笑)ただ、これをしといたほうが、エラーは起きにくいです。
こちら↓の部分で実際に保存したデータを取得しています。
PlayerPrefs.GetInt('save')
「GetInt('save') 」の引数は、キーです。保存したときに指定したキーを引数にいれます。
で、読み込む場合に注意が必要なのが、型です。
「GetInt」となっているように、上のコードは、int型を読み込みます。
String型を読み込むには、「GetString」、float型を読み込みには、「GetFloat」とします。
コードで書くとこんな感じです↓
・Javascript
if (PlayerPrefs.HasKey('int_save')) { Debug.Log( PlayerPrefs.GetInt('int_save') ); } if (PlayerPrefs.HasKey('float_save')) { Debug.Log( PlayerPrefs.GetFloat('float_save') ); } if (PlayerPrefs.HasKey('string_save')) { Debug.Log( PlayerPrefs.GetString('string_save') ); }
実行結果
ということで、保存と読み込む方法はこんな感じです。
これで、終わります。
参考サイト
Unity勉強 第9回 「永続データストレージを試してみる(ローカル編)」 - BEFOOL blog
Unity - Unity Manual