Описание
Загружает ресурс запрошенного типа, хранящийся по адресу path
, в папку Resources.
Этот метод возвращает ресурс по path
, если его можно найти, в противном случае он возвращает значение null. Обратите внимание, что path
нечувствителен к регистру и не должен содержать расширения файла. Все имена ресурсов и пути в Unity используют прямую косую черту, поэтому использование обратной косой черты в path
не будет работать.
path
относится к любой папке с именем Resources
в папке Assets вашего проекта. Можно использовать несколько папок Resources. Если у вас есть несколько папок Resources, вы не можете дублировать использование имени ресурса. Например, в проекте могут быть папки Resources с именами Assets / Resources/
и Assets / Guns. / Resources/
. Путь не должен включать в себя Assets
и Resources
в строке, например загрузка GameObject в Assets / Guns / Resources / Shotgun.prefab
потребует только Shotgun
в качестве path
. Кроме того, если существует Assets / Resources / Guns / Missiles / PlasmaGun.prefab
, его можно загрузить с помощью Guns / Missiles / PlasmaGun
как строка path
. Если у вас есть несколько папок Resources, вы не можете дублировать использование имени ресурса.
Объявление
public static T Load(string path);Параметры
path | Путь к целевому ресурсу для загрузки. |
Возвращает
T Объект запрошенного универсального типа параметра.
Описание
Загружает ресурс запрошенного типа, хранящийся по адресу path
, в папку Resources, используя общий фильтр типа параметра типа T
.
Этот метод возвращает ресурс по path
, если его можно найти и если его тип соответствует запрошенному универсальному типу параметра, в противном случае он возвращает значение null. Вы можете использовать эту перегрузку, чтобы уменьшить преобразование типов в коде, предоставив параметр универсального типа. Это позволяет Unity выполнять преобразование типов C# за вас.
// Loading assets from the Resources folder using the generic Resources.Load(path) method
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() 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");
}
}
Объявление
public static Object Load(string path);public static Object Load(string path, Type systemTypeInstance);
Параметры
path | Путь к целевому ресурсу для загрузки. |
systemTypeInstance | Тип фильтра для возвращаемых объектов. |
Возвращает
Object Запрошенный ресурс возвращен как объект.
Описание
Загружает ресурс, хранящийся по адресу path
в папке Resources, используя дополнительный фильтр systemTypeInstance
.
Этот метод возвращает ресурс по path
, если его можно найти и если его тип соответствует необязательному параметру systemTypeInstance
, в противном случае он возвращает ноль. Возможно, вам потребуется привести возвращаемый объект к фактическому связанному типу ресурса C#, чтобы получить доступ к его методам и свойствам или использовать его с другими API Unity.
// Loading assets from the Resources folder using the Resources.Load(path)
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;
}
}
// Loading assets from the Resources folder using the Resources.Load(path, systemTypeInstance)
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
// Instantiates a Prefab named "enemy" located in any Resources folder in your project's Assets folder.
void Start()
{
GameObject instance = Instantiate(Resources.Load("enemy", typeof(GameObject))) as GameObject;
}
}