天天看點

【 unity3d 】沙盒路徑

在使用XML解析的時候會要加載相對路徑或絕對路徑,但是在打包給其他人的時候,是不可取得。

這時需要傳入一個沙盒路徑

沙河路徑需要一個XML名,并把XML文檔放入Resorces檔案裡(Resorces檔案夾自己建立)就可以接收:

代碼如下:傳入xml文檔名(不需要字尾)傳回沙盒路徑 注意檔案名區分不能出錯

//擷取沙河位址
	string getXMLAddress(string filename) {

		TextAsset xmlText = Resources.Load (filename) as TextAsset;

		Debug.Log (xmlText.text);

		string WriteAblePath = Application.persistentDataPath + "/" + filename;

		Debug.Log (WriteAblePath);

		if (!File.Exists (WriteAblePath)) {
			Debug.Log ("not find but I can get");
			File.WriteAllText (WriteAblePath, xmlText.text);
		
		}
		return WriteAblePath;
           

}

這個傳回的位址可以直接用與加載XML檔案路徑,不需要加上.xml

如:

XmlDocument doc = new XmlDocument ();

		doc.Load (getXMLAddress (xmlAddress));