[Unity] 查找资源

有时候需要通过代码来为对象指定一个资源。可以通过下面的函数来查找资源。

    /// <summary>
    /// 查找资源
    /// </summary>
    /// <returns>返回资源对象</returns>
    /// <param name="name">资源名称</param>
    public static T findRes<T>(string name) where T : Object {
        T[] objs = Resources.FindObjectsOfTypeAll<T>();
        if (objs != null && objs.Length > 0) {
            foreach (Object obj in objs) {
                if (obj.name == name)
                    return obj as T;
            }
        }
        return default(T);
    }

示例:

// 将Image的原始图像指定为UGUI自带的UISprite
img.sprite = findRes<Sprite>("UISprite");

效果如下:

原文地址:https://www.cnblogs.com/yangyxd/p/5305663.html