Unity之获取资源包的路径

本文介绍了一种在Unity中获取资源包路径的方法。该方法首先尝试从persist目录加载资源,若未找到则从不同平台的预设路径中查找。文中详细展示了针对不同平台如Windows、iOS和Android的文件路径构造过程。

先从缓存中获取,如果获取不到,则从包中获取。

如下:

        public static string GetAssetBundlePath(string path)
        {
            // 先尝试从 persist 目录加载
            if (GameConfig.HotPatching)
            {
                getPathResult.Length = 0;
                getPathResult.Append(BundleDownloader.Folder);
                getPathResult.Append("/");
                getPathResult.Append(path);
                tmpPath = getPathResult.ToString();
                if (File.Exists(tmpPath))
                {
                    getPathResult.Length = 0;
                    getPathResult.Append("file:///");
                    getPathResult.Append(BundleDownloader.Folder);
                    getPathResult.Append("/");
                    getPathResult.Append(path);
                    tmpPath = getPathResult.ToString();
                    return tmpPath;
                }
            }

#if UNITY_EDITOR || UNITY_STANDALONE_WIN
            getPathResult.Length = 0;
            getPathResult.Append("file://");
            getPathResult.Append(Application.streamingAssetsPath);
            getPathResult.Append("/");
            getPathResult.Append(path);
            tmpPath = getPathResult.ToString();
#elif UNITY_IOS
            getPathResult.Length = 0;
            getPathResult.Append("file://");
            getPathResult.Append(Application.dataPath);
            getPathResult.Append("/Raw/");
            getPathResult.Append(path);
            tmpPath = getPathResult.ToString();
#elif UNITY_ANDROID
            getPathResult.Length = 0;
            getPathResult.Append("jar:file://");
            getPathResult.Append(Application.dataPath);
            getPathResult.Append("!/assets/");
            getPathResult.Append(path);
            tmpPath = getPathResult.ToString();
#endif
            return tmpPath;
        }

 

转载请注明出处:http://www.cnblogs.com/jietian331/p/8631076.html

 

转载于:https://www.cnblogs.com/jietian331/p/8631076.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值