资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

[unity3d]Assetbundle使用示例2(支持多平-创新互联

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

网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于企业网站制作,高端网页制作,对混凝土搅拌罐等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业seo优化优化,H5建站,响应式网站。

这里不同平台的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 欢迎进行技术讨论,里面有不少大牛

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻标题:[unity3d]Assetbundle使用示例2(支持多平-创新互联
地址分享:http://cdkjz.cn/article/dgjjdd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220