path | 目标文件夹的路径名称。 |
T 作为类型返回的请求资源。
加载存储在名为 Resources 文件夹中的 path
处的资源。
如果在 path
处找到指定资源,则返回该资源,否则返回 null。
将仅返回 T
类型的对象。
path
是相对于项目的 Assets 文件夹中的任何 Resources 文件夹的相对路径。
可以使用多个 Resources 文件夹。例如,一个项目中可能包含名为
Assets/Resources
和 Assets/Guns/Resources
的 Resources 文件夹。不需要包含
Assets
和 Resources
的字符串名称。例如,加载
Assets/Guns/Resources/Shotgun.prefab
中的游戏对象时不会使用文件夹名称。
此外,如果存在 Assets/Resources/Guns/Missiles/PlasmaGun.prefab
,则将使用
Prefabs/Missiles/PlasmaGun
进行加载。
如果您有多个 Resources 文件夹,则无法重复使用
资源名称。
再举一个 Resources
文件夹的例子。Resources
文件夹中有如下两个文件:fancyA
和 fancyA2
。Resources
还包含 Resources2
文件夹。该文件夹包含如下两个文件:fancyA2
和 fancyB
。最后,Resources2
包含一个名为 Resources3
的文件夹,其中只有一个也命名为 fancyB
的文件。(这意味着 Resources3
中的文件与 Resources
中的文件同名。)Resources
中的文件可以作为 fancyA
和 fancyB
加载,不需要提供文件夹层级视图 Assets/Resources
。此外,还可以加载 Resources2
中的文件。加载这些文件需要文件夹目录,因此一个加载示例为:Resources2/fancyB2
。最后,要从 Resources3
中加载,则使用 Resources2/Resources3/fancyB
。
注意:必须省略扩展名。\
注意:Unity 中的所有资源名称和路径都使用正斜杠。使用反斜杠的路径将无法正常工作。
// Load assets from the Resources folder. Ignore other named and typed assets. using UnityEngine;
public class ExampleClass : MonoBehaviour { void Start() { //Load a text file (Assets/Resources/Text/textFile01.txt) var textFile = Resources.Load<TextAsset>("Text/textFile01");
//Load text from a JSON file (Assets/Resources/Text/jsonFile01.json) var jsonTextFile = Resources.Load<TextAsset>("Text/jsonFile01"); //Then use JsonUtility.FromJson<T>() to deserialize jsonTextFile into an object
//Load a Texture (Assets/Resources/Textures/texture01.png) var texture = Resources.Load<Texture2D>("Textures/texture01");
//Load a Sprite (Assets/Resources/Sprites/sprite01.png) var sprite = Resources.Load<Sprite>("Sprites/sprite01");
//Load an AudioClip (Assets/Resources/Audio/audioClip01.mp3) var audioClip = Resources.Load<AudioClip>("Audio/audioClip01"); } }
path | 目标文件夹的路径名称。使用空字符串(即 "")时,该函数将加载 Resources 文件夹的全部内容。 |
systemTypeInstance | 返回的对象的类型筛选器。 |
Object 作为对象返回的请求资源。
加载存储在 Resources 文件夹中的 path
处的资源。
如果在 path
处找到指定资源,则返回该资源,否则返回 null。
如果提供该参数,则仅返回 type
类型的对象。
path
是相对于项目的 Assets 文件夹中的任何 Resources 文件夹的相对路径,必须省略扩展名。
注意:Unity 中的所有资源名称和路径都使用正斜杠。使用反斜杠的路径将无法正常工作。
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { // Assigns a texture named "Assets/Resources/glass" to a Plane. void Start() { GameObject go = GameObject.CreatePrimitive(PrimitiveType.Plane); var rend = go.GetComponent<Renderer>(); rend.material.mainTexture = Resources.Load("glass") as Texture; } }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void Start() { // Instantiates a Prefab named "enemy" located in any Resources // folder in your project's Assets folder. GameObject instance = Instantiate(Resources.Load("enemy", typeof(GameObject))) as GameObject; } }