//相对路径转换为绝对路径 public static string RrelativePath2Absolute_Packet(string pack_path, string pack_name, bool autoCreateDevDir, out RES_LOCATION srcType, out string devPackDir, bool ignoreExternal = false//是否忽略外部包 ) { string externalPath = MakeExternalPackPath(pack_path, pack_name); string externalPath_dev = MakeExternalPackPath(pack_path, "pk_" + pack_name); if (!ignoreExternal) { //外部文件系统 if (IsDirExists(externalPath_dev)) { devPackDir = externalPath_dev; } else { if (autoCreateDevDir) { DirectoryInfo tmpDir = new DirectoryInfo(externalPath_dev); tmpDir.Create(); devPackDir = externalPath_dev; } else { devPackDir = null; } } //外部路径 if (IsFileExists(externalPath)) { srcType = RES_LOCATION.externalPack; return(externalPath); } } else { devPackDir = null; } string streamingAssetsPath = Application.streamingAssetsPath; //读模式,由于android只支持www方式,所以路径是file开头 string sealedUrl = //(streamingAssetsPath[0] == '/' ? "file://" : "file:///") + streamingAssetsPath + "/" + pack_path + "/" + pack_name; //只读目录 switch (Application.platform) { case RuntimePlatform.WindowsEditor: case RuntimePlatform.WindowsPlayer: case RuntimePlatform.WindowsWebPlayer: sealedUrl = "file:///" + sealedUrl; break; case RuntimePlatform.IPhonePlayer: case RuntimePlatform.OSXEditor: case RuntimePlatform.OSXPlayer: case RuntimePlatform.OSXWebPlayer: case RuntimePlatform.OSXDashboardPlayer: sealedUrl = "file://" + sealedUrl; break; } ; srcType = RES_LOCATION.internalPack; return(sealedUrl);//内部路径 }