支持多平台的Assetbundle的应用示例,贴代码,供学习!

这里不同平台的StreamingAssets是不同的,所以我们要写预处理!

using UnityEngine; using System.Collections;  public class RunScript : MonoBehaviour {          //不同平台下StreamingAssets的路径是不同的,这里需要注意一下。      public static readonly string PathURL = #if UNITY_ANDROID      "jar:file://" + Application.dataPath + "!/assets/"; #elif UNITY_IPHONE        Application.dataPath + "/Raw/"; #elif UNITY_STANDALONE_WIN || UNITY_EDITOR   "file://" + Application.dataPath + "/StreamingAssets/"; #else         string.Empty; #endif        void OnGUI()    {       if(GUILayout.Button("Main Assetbundle"))      {           //StartCoroutine(LoadMainGameObject(PathURL + "Prefab0.assetbundle"));           //StartCoroutine(LoadMainGameObject(PathURL +  "Prefab1.assetbundle"));                  StartCoroutine(LoadMainCacheGameObject(PathURL + "Prefab0.assetbundle"));            StartCoroutine(LoadMainCacheGameObject(PathURL +  "Prefab1.assetbundle"));       }               if(GUILayout.Button("ALL Assetbundle"))       {           StartCoroutine(LoadALLGameObject(PathURL + "ALL.assetbundle"));      }               if(GUILayout.Button("Open Scene"))        {           StartCoroutine(LoadScene());        }           }       //读取一个资源        private IEnumerator LoadMainGameObject(string path)     {        WWW bundle = new WWW(path);                yield return bundle;                //加载到游戏中        yield return Instantiate(bundle.assetBundle.mainAsset);                 bundle.assetBundle.Unload(false);  }       //读取全部资源        private IEnumerator LoadALLGameObject(string path)  {        WWW bundle = new WWW(path);                yield return bundle;                //通过Prefab的名称把他们都读取出来       Object  obj0 =  bundle.assetBundle.Load("Prefab0");          Object  obj1 =  bundle.assetBundle.Load("Prefab1");                  //加载到游戏中            yield return Instantiate(obj0);         yield return Instantiate(obj1);         bundle.assetBundle.Unload(false);  }       private IEnumerator LoadMainCacheGameObject(string path)    {        WWW bundle = WWW.LoadFromCacheOrDownload(path,5);                  yield return bundle;                //加载到游戏中        yield return Instantiate(bundle.assetBundle.mainAsset);                 bundle.assetBundle.Unload(false);  }           private IEnumerator LoadScene()     {        WWW download = WWW.LoadFromCacheOrDownload ("file://"+Application.dataPath + "/MyScene.unity3d", 1);          yield return download;          var bundle = download.assetBundle;             Application.LoadLevel ("Level");    }    } 

截图:

关于Unity3D,我们有个专门技术讨论的大群,可以进行技术交流和咨询,群号:858550 欢迎进行技术讨论,里面有不少大牛

本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366237,如需转载请自行联系原作者

[unity3d]Assetbundle使用示例2(支持多平台)相关推荐

  1. Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎

    编辑本段简介 Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎,使用 C++ 开发,基于OpenGL ES,基于Cocos2d-iphone,支持 WOPhone, iOS 4.1, And ...

  2. 在Ubuntu上编译opencv 2.4.13源码支持android平台操作步骤

    之前在https://blog.csdn.net/fengbingchun/article/details/96430706中编译过opencv源码用于海思平台,这里通过修改脚本编译opencv 2. ...

  3. mysql支持的平台和操作系统_MySQL 数据库所支持的操作系统_MySQL

    MySQL数据库所支持的操作系统: 我们使用GNU Autoconf,因此将MySQL移植到所有使用Posix线程和C++编译器的现代系统是可能的.(要求服务器支持线程.如果只是编译客户端代码,则只需 ...

  4. python基于udp的网络聊天室再用tkinter显示_Python实现网络聊天室的示例代码(支持多人聊天与私聊)...

    实验名称: 网络聊天室 功能: i. 掌握利用Socket进行编程的技术 ii. 掌握多线程技术,保证双方可以同时发送 iii. 建立聊天工具 iv. 可以和单人聊天 v. 可以和多个人同时进行聊天 ...

  5. 字节跳动BVC2解码器率先支持移动平台H.266标准8K解码

    10月22日举行的QCon全球软件开发大会上,字节跳动研究人员分享"8K超高清解码实践",宣布该公司BVC2解码器已支持移动平台H.266标准的8K解码,从而解决以往8K视频码率过 ...

  6. Unity3D AssetBundle相关

    Unity3D AssetBundle相关 首先,先看一下原理吧  Unity3D研究院之Assetbundle的原理(六十一) 其次,接着往下看:Unity3D研究院之Assetbundle的实战( ...

  7. Unity3D for Android 纹理压缩支持

    原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术交流QQ群:[119706192]本文链接地址: Unity3D for Android 纹理压缩支持 首先附图:U ...

  8. 超好用!5款完全免费、支持全平台的笔记软件

    5款小众好用的笔记软件,完全免费.跨平台 好记忆不如一个烂笔头,对于这句话,我深以为然. 我觉得养成做笔记的习惯,对于工作和学习都能够提供很大的帮助. 不同的人有不同整理笔记的习惯,有的同学会使用各种 ...

  9. Qt支持的平台有那些?

    整理一下Qt 5.13版本中支持那些平台. 平台 描述 Qt Quick WebGL 使用WebGL™实现流媒体的Qt快速用户界面的平台插件. Qt for Android Android平台 Qt ...

最新文章

  1. ae万能弹性表达式_AE脚本精品表达式合集效果库 iExpressions 3.1.006【资源分享1453】...
  2. 简述生成式对抗网络 GAN
  3. 前端 input怎么显示null_小猿圈WEB前端之HTML5+CSS3面试题(一)
  4. Yii-模型- criteria查找数据库方法
  5. EZ 2018 06 17 NOIP2018 模拟赛(十九)
  6. Castle ActiveRecord学习实践(7):使用HQL查询
  7. java数据类型的转换函数_JAVA中常用数据类型转换函数
  8. python代码模拟 手写字体
  9. 惠普打印机P1108驱动无法安装怎么处理?
  10. 如何用计算机ip连接打印机共享,ip共享打印机怎么设置
  11. iOS-QQ自动聊天机器人
  12. Heka采集系统Output插件开发
  13. 盛迈坤电商:店铺自然流量怎么提升
  14. win7 关闭计算机休眠,技术编辑教您win7下怎么关闭休眠
  15. uniapp使用诺诺人脸认证(微信小程序)sdk
  16. Oracle函数之单值函数
  17. 物联网IoT:如何重新定义移动应用开发
  18. 传输层之UDP头部解析、UDP特点TCP头部解析、TCP特点
  19. adb按键精灵_自动点击器adb版最新版下载|自动点击器adb版安卓版下载 v1.0.5 - 跑跑车安卓网...
  20. snmp 获得硬件信息_网络管理员之软硬件安装

热门文章

  1. crontab定时任务语法及应用
  2. lisp 读取dwg 统计信息_用阿里云交易和账单管理API实现MaxCompute费用对账分摊统计...
  3. 使用hutool发送QQ邮件在windows正常,linux发送报错。
  4. python flask服务器假死_python – Flask POST请求导致服务器崩溃
  5. [Ext JS]treelist实现tooltip
  6. c语言 syn扫描,syn flooder*** (C语言)
  7. java运行 mavenzip包_JAVA开发必知工具-Maven-Maven生成可以直接运行的jar包的多种方式...
  8. vb.ne textbox数字保存excel_Excel 另类保护:锁死页面布局、保存、审阅标签右键等菜单禁编辑...
  9. 人工智能用python还是java_人工智能选择python还是java语言
  10. html ul高度自适应,如何让div中的ul元素自适应