Unity对应各平台的路径配置,跟别人不一样的写法

原创 2016年06月01日 20:34:39

    /// <summary>
    /// 根据平台和加载位置,返回资源的完整加载路径
    /// </summary>
    /// <returns>完整路径.</returns>
    /// <param name="name">文件名</param>
    /// <param name="path">资源的加载位置</param>
    public static string GetLocalURL( string name = "", PathType path = PathType.persistent)
    {
        string URL = "";

        string typePath = "";
        try
        {
            if (path == PathType.persistent)
            {
                typePath = Application.persistentDataPath;
            }
            else
            {
                typePath = Application.streamingAssetsPath;
            }
        }
        catch (Exception e)
        {
            Debug.LogError(e.ToString());
        }

#if UNITY_STANDALONE_WIN || UNITY_EDITOR
        
        	    URL = "file://" + typePath + "/" + name;

#elif UNITY_ANDROID
		
			URL = typePath + "/"+name; 
		
#elif UNITY_IOS
		
			URL = "file://"+ typePath + "/"+name; 
		
#endif

        if (!File.Exists(URL))
        {
            if (path == PathType.persistent)
            {
                return GetLocalURL(name, PathType.streaming);
            }
            else
            {
                Debug.Log("资源文件不存在:"+name);
            }
        }
        
        return URL;
    }



这是我自己用的一个获取资源路径的方法,跟网上能查到的有些不一样,如果按照其他人的写法不能实现,可以尝试下我这个。

反正我当时是按照官网上的写法写的,安卓上一直有问题...


------------------------------------------------------------------ 2016年6月23日补充--------------------------------------------------------------------


最近一直在做资源更新,整天跟文件打交道,之前的理解一直是稀里糊涂的。后来总结出以下的几点


1,application.streamingAssetes获取的路径是已经带了file:/或者jar:file:/协议的,application.persistentPath获取到的路径是不带协议的


2,streamingAssetes在android和ios上是只读的,并且不能用File操作


3,File操作的路径是不需要带文件协议的


因为这几个没搞清楚,所以本来一两天就能搞完的东西,硬是浪费了一周时间。







欢迎转载。转载请注明:
Hello光头原创
如有建议或意见,欢迎留言。
也欢迎大家加我qq,一起学习进步:1009570451



版权声明:Hello光头原创,欢迎交流拍砖扔鸡蛋,qq:1009570451

Unity的吐血巨坑之处 --- 发布版本和编辑器的纹理显示不一致

缓存。 编辑器的缓存和正式发布的shh
  • fg5823820
  • fg5823820
  • 2014年07月13日 16:28
  • 2781

Unity中的Path对应各平台中的Path

相信大家在开发过程中,难免会保存一些文件在客户端进行本地化操作。 如:配置文件,状态文件,Assetbundle文件等等... 最近总有人问我: 1.保存了一个xml在客户端,能读取里面的数...
  • wangxiong_zh
  • wangxiong_zh
  • 2016年01月07日 00:24
  • 480

Excel中普通视图与打印预览内容显示不一致的解决方法

一、问题:需要打印Excel表中的内容,但在“普通视图”中将格式调好后,点击“打印预览”一看,嘿,一些单元格中的内容又不对了。而最终打印出的内容又是与“打印预览”一致的,“打印预览”有问题,打印出来势...
  • wander2
  • wander2
  • 2015年07月23日 17:45
  • 24919

SystemInfo获取系统参数

System类可以指出Unity项目的一些设备信息。一些常用的静态属性:SystemInfo.deviceModel //设备模型(string) SystemInfo.deviceName //设...
  • qq_33337811
  • qq_33337811
  • 2017年03月05日 18:26
  • 934

unity3d项目文件目录发布后,对应的ios/android应用目录

Unity3d的Resource、AssetBundle与手游动态更新的报告,在这里分享一下,希望能够对各位用Unity的朋友有些许帮助。 目录: 1.Unity的资源数据加载 2.Resour...
  • w88193363
  • w88193363
  • 2014年11月19日 21:00
  • 31990

Unity3D 移动平台Path对应路径以及文件路径权限

经常会用到一些路径读写文件,但是各个平台上一些路径对读写的支持有可能不同,下面给出不同平台unity提供的地址的具体路径,以及一些读写权限 1.Editor: dataPath D:/Docu...
  • yhy2218
  • yhy2218
  • 2016年03月07日 15:18
  • 4642

unity3d各平台的路径问题

前几天我做项目测试,需要获取保存拍的照片,在unity3d中,路径总是没什么问题的,但是在移动平台上,经查发现Application.temporaryCachePath和Application.pe...
  • Mr_chenxiansheng
  • Mr_chenxiansheng
  • 2017年06月01日 17:12
  • 436

Unity3D各平台路径(包括手机内置存储路径、SD卡等等)

转载请注明出处!  关于Unity3D在各平台上的路径问题,网上有好多的资料,如下是比较好的参考资料:1、http://www.manew.com/thread-23491-1-1.html2、htt...
  • u010377179
  • u010377179
  • 2016年10月25日 15:16
  • 8687

Unity 5.x动态加载光照信息(所有坑已踩)

能搜到这的应该是被新的烘焙系统坑了少时间,4.x到5.x美术必须重新烘焙,关于美术的没什么说的,只有---重新烘焙!   新的烘焙系统,为了兼容5.x的多场景编辑功能,将烘焙信息从mesh全部挪...
  • yuyingwin
  • yuyingwin
  • 2017年12月22日 15:12
  • 62

Unity里常用的一些路径等信息

0.  Asset folder的路径:Application.dataPath; 得到的是自磁盘根目录开始的路径。 0. C#自带的: string[] paths = Directory...
  • u010153703
  • u010153703
  • 2016年05月24日 16:39
  • 2669
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unity对应各平台的路径配置,跟别人不一样的写法
举报原因:
原因补充:

(最多只允许输入30个字)