[Unity]ArrayPrefsを使用する

  • Day:2013.01.12 21:18
  • Cat:Unity
PlayerPrefsクラスでは、Vector3型や配列の保存や読み込みができません。
しかし、ArrayPrefsを使用することで可能になります。

インストール

ArrayPrefs - Unify Community Wiki
http://wiki.unity3d.com/index.php/ArrayPrefs

Unify Community Wikiの「PlayerPrefsX.cs」を
プロジェクトに追加することで使用可能になります。

できること

Vector3型を保存する
Vector3型を読み込む
int型の配列を保存する
int型の配列を読み込む
float型の配列を保存する
float型の配列を読み込む
string型の配列を保存する
string型の配列を読み込む


// Vector3型を保存する
PlayerPrefsX.SetVector3("PlayerPosition", transform.position);

// Vector3型を読み込む
transform.position = PlayerPrefsX.GetVector3("PlayerPosition");

// int型の配列を保存する
var myScores = new int[10];

for (var i = 0; i < myScores.Length; i++)
{
myScores[i] = i + 1;
}

PlayerPrefsX.SetIntArray("Scores", myScores);

// int型の配列を読み込む
var scores = PlayerPrefsX.GetIntArray("Scores");

// int型の配列を読み込む
// キーが存在しない場合、
// 10個の要素を持つint型の配列を作成し
// 各要素を0で初期化する
var scores = PlayerPrefsX.GetIntArray("Scores", 0, 10);

// float型の配列を保存する
var myCoords = new float[10];

for (var i = 0; i < myCoords.Length; i++)
{
myCoords[i] = i + 1.5f;
}

PlayerPrefsX.SetFloatArray("Coordinates", myCoords);

// float型の配列を読み込む
var myCoords = PlayerPrefsX.GetFloatArray("Coordinates");

// float型の配列を読み込む
// キーが存在しない場合、
// 10個の要素を持つfloat型の配列を作成し
// 各要素を0.5で初期化する
var myCoords = PlayerPrefsX.GetFloatArray("Coordinates", 0.5f, 10);

// string型の配列を保存する
var names = new string[10];

for (var i = 0; i < names.Length; i++)
{
names[i] = "Player" + (i + 1);
}

PlayerPrefsX.SetStringArray("Names", names);

// string型の配列を読み込む
var names = PlayerPrefsX.GetStringArray("Names");

// string型の配列を読み込む
// キーが存在しない場合、
// 10個の要素を持つstring型の配列を作成し
// 各要素を"Player"で初期化する
var names = PlayerPrefsX.GetStringArray("Names", "Player", 10);

Comment

Comment Form
公開設定

Trackback


→ この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。