1

これは、unity の世界で初めてテストした 2D ゲームのメイン メニューです。

ここに画像の説明を入力

ハイスコ​​アを保存したいのですが、プレイヤーが「ベスト スコア」ボタンを押した場合は、これまでで最高のスコアを表示したいと考えています ^^ そのため、外部ファイルを使用してこの種の情報を保存し、実行時に開く必要があると思います時間...どのように?それを実行するのに最適なファイルの種類は何ですか?

4

4 に答える 4

7

上記の答えに加えて:

ただし、PlayerPrefs は、カスタムの型とコレクションを、それらの型を文字列やその他のデータにキャストしない限り、処理および保存しません。必要なデータを JSON に変換し、JSON 文字列を PlayerPrefs に保存してから、再び必要になったときにそのデータを取得して解析することは非常に便利です。これを行うと、別の複雑なレイヤーが追加されますが、保護の別のレイヤーとデータ自体を暗号化する機能も追加されます。また、Unity のドキュメントによると、Web Player は現在、PlayerPrefs に制限がある唯一のプラットフォームです。

Web プレーヤー URL ごとに 1 つの設定ファイルがあり、ファイル サイズは 1 メガバイトに制限されています。この制限を超えると、SetInt、SetFloat、および SetString は値を格納せず、PlayerPrefsException をスローします。

ソース: http://docs.unity3d.com/Documentation/ScriptReference/PlayerPrefs.html

于 2013-10-08T23:21:53.767 に答える
6

書き込み:

PlayerPrefs.SetInt("score",5);
PlayerPrefs.SetFloat("volume",0.6f);
PlayerPrefs.SetString("username","John Doe");

// Saving a boolean value
bool val = true;
PlayerPrefs.SetInt("PropName", val ? 1 : 0);


PlayerPrefs.Save();

読む:

int score = PlayerPrefs.GetInt("score");
float volume = PlayerPrefs.GetFloat("volume");
string player = PlayerPrefs.GetString("username");

bool val = PlayerPrefs.GetInt("PropName") == 1 ? true : false;
于 2014-01-22T09:14:18.037 に答える
5

最も簡単な解決策は、PlayerPrefsを使用することです。スペースが限られており、保存できるデータのセット (int、float、string) は小さいですが、単純なゲームには十分です。

より多くのスペースまたはより複雑なデータ構造を保存する必要がある場合は、それらをファイル システム自体 (またはバックエンド サポートがある場合はサーバー) に保存する必要があります。Unity は、これに対する組み込みサポートを提供していません。

于 2013-10-08T10:37:30.993 に答える