Unity3d基础:自己动手写打包AssetBundle工具

  1. 创建文件夹Editor,将这个类放到里边
  2.  
  3. public class Packager
  4. {
  5.     //打包iphone,菜单栏显示的样式,优先级
  6.     [MenuItem ("Packagers/Build iPhone", false, 1)]
  7.     public static void BuileIPhone ()
  8.     { 
  9.         //打包目标类型
  10.         BuildTarget target = BuildTarget.iOS;
  11.         //打包
  12.         BuildAssetResource (target, true);
  13.     }
  14.     //打包安卓,菜单栏显示的菜单样式,优先级
  15.     [MenuItem ("Packagers/Build Android", false, 2)]
  16.     public static void BuileAndroid ()
  17.     {
  18.         //打包目标类型
  19.         BuildTarget target = BuildTarget.Android;
  20.         //打包
  21.         BuildAssetResource (target, true);
  22.     }
  23.     //打包windows平台,优先级
  24.     [MenuItem ("Packagers/Build Windows", false, 3)]
  25.     public static void BuileWindows ()
  26.     {
  27.         //打包平台目标
  28.         BuildTarget target = BuildTarget.StandaloneWindows;
  29.         //打包
  30.         BuildAssetResource (target, true);
  31.     }
  32.     ///
  33.     /// 属性 返回当前路径
  34.     ///
  35.     /// The data path.
  36.     public static string AppDataPath {
  37.         get {
  38.             //返回当前路径,转换成小写
  39.             return Application.dataPath.ToLower ();
  40.         }
  41.     }
  42.  
  43.     ///
  44.     /// 打包资源
  45.     ///
  46.     /// 目标平台
  47.     /// If set to true is window.
  48.     public static void BuildAssetResource (BuildTarget target, bool isWin)
  49.     {
  50.         //资源输出路径
  51.         string resPath = AppDataPath + "/" + "StreamingAssets/" ;
  52.         //判断路径是否存在,不存在就创建
  53.         if (!Directory.Exists (resPath)) {
  54.             Directory.CreateDirectory (resPath);
  55.         }
  56.         //打包                                                 资源路径,压缩格式,                                    打包目标平台
  57.         BuildPipeline.BuildAssetBundles (resPath, BuildAssetBundleOptions.None, target);
  58.         AssetDatabase.Refresh ();
  59.     } 
  60. }
     

你可能感兴趣的:(unity3d,C#,菜鸟学习编程之路)