1
我將遊戲的進度存儲在XML文件中。 由於玩家可以選擇他們想玩的回合,但是一旦完成就不會重複回合。 正在編輯和更新文件正確,但是,更改不會反映在遊戲內,直到我重新啓動遊戲。在Unity中重新加載XML資產
我一直在使用AssetDatabase.ImportAsset()
直到現在,但我需要一個替代android導出。
我將遊戲的進度存儲在XML文件中。 由於玩家可以選擇他們想玩的回合,但是一旦完成就不會重複回合。 正在編輯和更新文件正確,但是,更改不會反映在遊戲內,直到我重新啓動遊戲。在Unity中重新加載XML資產
我一直在使用AssetDatabase.ImportAsset()
直到現在,但我需要一個替代android導出。
好消息是在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)
這就是它的全部。
string currentText = File.ReadAllText(filePath);
請注意,您詢問有關您的特定的XML文件,「應該我手動添加它們在第一次運行」
這很簡單,你的算法是,以獲取文件信息...
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
謝謝@joe,幫助了很多。如果可以,你也可以在這裏回答,或者我可以使用該信息回答我自己的問題。 –