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

来源:互联网 发布:ipad越狱软件 编辑:程序博客网 时间:2024/05/18 09:19

    /// <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_ANDROIDURL = typePath + "/"+name; #elif UNITY_IOSURL = "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



0 0
原创粉丝点击