unity3d各平台的路径问题

注意:PC端导出后不能把exe文件和相关的数据文件夹拷贝到带中文的文件目录下,不然无法加载要加载的文件。

Unity3D的路径问题。我们常用的是以下四个路径:

Application.dataPath 

Application.streamingAssetsPath 

Application.persistentDataPath 

Application.temporaryCachePath 

根据测试,详细情况如下:

一.在项目根目录中创建Resources文件夹来保存图片

可以使用Resources.Load("文件名字,注:不包括文件后缀名");把文件夹中的对象加载出来。

注:此方可实现对文件实施“增删查改”等操作,但打包后不可以更改了。

 

二.直接放在项目根路径下来保存文件

在直接使用Application.dataPath来读取文件进行操作。

注:移动端是没有访问权限的。

 

三.在项目根目录中创建StreamingAssets文件夹来保存文件。

1.可以使用Application.dataPath来读取文件进行操作。

[C#]

#if UNITY_EDITOR

string filepath=Application.dataPath+"/StreamingAssets"+"/photo.jpg";

#elif UNITY_IPHONE

string filepath=Application.dataPath+"/Ray"+"/photo.jpg";

#elif UNITY_android

string filepath="jar:file://"+Application.dataPath+"!/assets/"+"/photo.jpg";

#endif

2.直接使用Application.streamingAssetsPath来读取文件进行操作。

注:此方法在pc/Mac电脑中可以实现对文件实施“增删查改”等操作,但在移动端只支持读取操作。

 

四.使用Application.streamingAssetsPath来操作文件(荐)。

改文件存在手机沙盒中,因为不能直接存放文件,

1.通过服务器直接下载保存到该位置,也可以通过Md5码比对下载更新新的资源

2.没有服务器的,只有间接通过文件流的方式从本地读取并写入Application.persistentDataPath文件下,然后在通过Application.persistentDataPath来读取操作。

注:在Pc/Mac电脑以及Android跟Ipad、iphone都可对文件进行任意操作,另外在IOS上对该目录下的东西可以被iCloud自动备份。

 

五.使用Application.temporaryCachePath来操作文件

操作方式跟上面Application.persistentDataPath类似。除了在IOS上不能被iCloud自动备份。

 

下图是几种文件在Pc中路径的具体位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值