私はXMLファイルにゲームの進行状況を保存しています。 プレイヤーはプレイしたいラウンドを選択できますが、完了したらラウンドを繰り返すことはできません。 ファイルが正しく編集され、更新されていますが、ゲームを再起動するまで、変更内容はゲーム内に反映されません。UnityにXMLアセットをリロードする
私は今までAssetDatabase.ImportAsset()
を使用していましたが、私はアンドロイドのエクスポートのための代替手段が必要です。
私はXMLファイルにゲームの進行状況を保存しています。 プレイヤーはプレイしたいラウンドを選択できますが、完了したらラウンドを繰り返すことはできません。 ファイルが正しく編集され、更新されていますが、ゲームを再起動するまで、変更内容はゲーム内に反映されません。UnityにXMLアセットをリロードする
私は今までAssetDatabase.ImportAsset()
を使用していましたが、私はアンドロイドのエクスポートのための代替手段が必要です。
Unityでは、テキストファイルの保存/読み込みが非常に簡単です。
一つ絶対に重要なポイント...
何らかの理由で、数年前に始まったは、他のパスを使用して他のフォルダにアクセスすることに関するwwwのコードサンプルになりました。 (A)他のフォルダや宣誓書を使用する理由はありません。(B)あなたはではありません。は他のフォルダやパスを使用できます。
Unityでファイルを読み書きすることは非常に簡単です。
using System.IO;
// IO crib sheet..
// filePath = Application.persistentDataPath+"/"+fileName;
// check if file exists System.IO.File.Exists(f)
// write to file File.WriteAllText(f,t)
// delete the file if needed File.Delete(f)
// read from a file File.ReadAllText(f)
これがすべてです。あなたは、特定のXMLファイルについて尋ねる
string currentText = File.ReadAllText(filePath);
注意、
それは、あなたのアルゴリズムである、ファイル情報を取得するために簡単です...「私は最初の実行時に手動で追加する必要があります」
public string GetThatXMLStuff()
{
filePath = Application.persistentDataPath+"/"+"defaults.txt";
.. check if it already exists:
if (! System.IO.File.Exists(f))
{
.. put in the default/blank/whatever file
string default = "blah"
File.WriteAllText(f,default)
}
.. now you know it exists. just get it
return File.ReadAllText(f);
}
それは本当に簡単ですしない - それには何も。 (PS、ファイルの名前を ".txt"か ".xml"にするかどうか、具体的な状況はわかりませんが、どちらもそれを明確にすること以外は問題ありません)。
1)具体的な変更は、ゲームを再開するまで反映されません。 2)プレイヤーはゲームの途中で異なる「プログレッションゲームセーブ」を切り替えるのですか? – HappyCoding
http://stackoverflow.com/a/35941579/294884 – Fattie
多くの助けをしてくれてありがとう@ジョー。それが大丈夫ならここで答えてもいいですか、それとも自分の質問にその情報を使って答えることができますか? –