Unity WriteAllBytes Web Player替代方案

时间:2015-06-23 10:05:58

标签: c# unity3d unity-web-player

我有一个使用同步功能的应用,其中所有内容都是从服务器(CMS)本地保存的。

在服务器上我有文字,图片和视频。该脚本正在下载所有该信息,然后将文本文本和图像和视频中的文本保存为字节。在编辑器和Android上运行良好,我的问题是我如何使用File.writeAllBytes替代网络播放器。我搜索了很多解决方案,但我没有找到任何解决方案。如何从Web播放器访问本地存储上的文件系统,或者如何使用缓存系统?

1 个答案:

答案 0 :(得分:0)

  

如何从网络播放器访问本地存储上的文件系统

出于安全原因,通过Unity Web Player运行的游戏无法直接访问文件系统。 Unity的内置PlayerPrefs系统允许您在本地存储一些数据,但它只支持一些基本类型,而Web Player将数据限制为1 MB。

这听起来并不像你正在使用AssetBundles,但如果你是,WWW类有一个函数LoadFromCacheOrDownload可以做一些本地缓存。我不知道将该功能限制在AssetBundles的任何具体原因,但我推测它最初是为了推动开发者购买Pro许可证。

您可以使用Application.ExternalCallApplication.ExternalEval在托管游戏的页面上调用JavaScript,页面本身也可以通过与网络播放器对象进行交互来向游戏发送消息。我不是一个特别精明的JS开发人员,但这可能会开辟一些其他的解决方法。

这些限制可能会影响您的设计选项。