如果我将平台切换到网络播放器,我会收到错误system.io.file' does not contain a definition for readAllTex
,此方法不起作用,但如果我将平台目标切换到pc
string readPath(){
string filepath = "wsPath.txt";
string wspath=Environment.NewLine;
if (File.Exists(filepath))
wspath = File.ReadAllText(filepath);
return wspath;
}
答案 0 :(得分:2)
这是由于网络播放器的沙盒安全性,它具有一定的限制,以防止恶意代码通过浏览器由统一应用程序执行。
Unity的文档包含一个解释此内容的页面:
http://docs.unity3d.com/Manual/SecuritySandbox.html
其中包括以下对限制的简要说明:
简而言之,您无法使用System.IO命名空间直接访问文件系统。这已被Unity故意禁用。
最佳做法是使用PlayerPrefs,或通过远程Web服务加载/保存数据。这里有关于这个主题的讨论:
http://forum.unity3d.com/threads/read-write-text-files-from-unity-webplayer.19046/