Unity3D资源加载Resources

                            Unity3D资源加载Resources


目录

1、博客介绍

2、内容

3、推送

4、结语


1、博客介绍

本篇博客对资源加载类Resources做一个介绍


2、内容

FindObjectsOfTypeAll 返回一个该类型对象的列表
Load 从Resources文件夹内加载一个路径的资源
LoadAll 从Resources文件夹内加载一个路径下的所有资源
LoadAsync 从Resources文件夹内异步加载路径下的资源
UnloadAsset 从内存中卸载资源
UnloadUnusedAssets 卸载未使用的资源

FindObjectsOfTypeAll:查找的对象包括场景目录下的对象和资源列表内的对象,以下演示,我输出所有带有Test.cs脚本的物体,我将Test挂载在Main Camera下,并将Main Camera制成预制体,切断场景内的预制体联系,并修改名字,两个物体均被输出。

Load:load就很简单了,指定一个Resources目录下的路径就可以加载了,加载时也可以指定好加载资源的类型,写法有所不同。

	        var cube = Resources.Load("Prefab/Cube");

		GameObject cube = Resources.Load<GameObject>("Prefab/Cube");
		
		GameObject cube = Resources.Load("Prefab/Cube") as GameObject;
		
		Instantiate(cube);

LoadAll:加载指定目录下的所有对象,可以指定类型去加载

	        //加载Prefab目录下的所有对象
		var prefabs = Resources.LoadAll("Prefab");
		
		//加载Prefab目录下的所有GameObject对象
		GameObject[] prefabs1 = Resources.LoadAll<GameObject>("Prefab");

LoadAsync:异步加载资源,通过协程的方式来加载资源,返回的是一个ResourcesRequest,加载的资源在asset内。

	
	StartCoroutine(LoadPrefab());

	IEnumerator LoadPrefab()
	{
		ResourceRequest request = Resources.LoadAsync("Prefab/Cube");

		yield return request;
		
		Instantiate(request.asset);
	}

UnloadAsset:直接卸载加载在内存的资源。

测试了哈,没啥用。。。。。。。。。。。

UnloadUnusedAssets:卸载内存中所有没有使用的资源

测试挺好用的

Resources.UnloadUnusedAssets();

3、推送

博主Github: https://github.com/KingSun5


4、结语

       若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。

       QQ交流群:806091680(Chinar)

       该群为CSDN博主Chinar所创,推荐一下!我也在群里!

       本文属于原创文章,转载请著名作者出处并置顶!!!!

猜你喜欢

转载自blog.csdn.net/Mr_Sun88/article/details/94147069