Resources.Load返回null
在unity中Resources.Load從Assets下的任意Resources目錄下讀取資源,比如從Assets\Resources下讀取Cube(預制體),當然也可以讀取其他資源
代碼為
GameObject prefab = Resources.Load<GameObject>("Cube");
Debug.Log(prefab);
參考Resources.Load官方文檔鏈接
問題:一個問題是我即使按照官方要求做,依舊返回null,代碼如下
public class aircraftCenterMonitor: MonoBehaviour
{public string prefabPath = "AircraftV2";void Start(){GameObject prefab = Resources.Load<GameObject>(prefabPath);Debug.Log(prefab);Transform parentTransform = transform.parent;Debug.Log("Parent Transform: " + parentTransform.name + ", Type: " + parentTransform.GetType());}void Update(){}
}
問題在于prefabPath, 可以如上述代碼那樣寫,但是不建議。因為我即使把值設為“AircraftV2”,但是在Start函數第一行打印了下,發現值是我知道Resources.Load正確用法前設置的一個路徑。因此將代碼改為
public class aircraftCenterMonitor: MonoBehaviour
{void Start(){GameObject prefab = Resources.Load<GameObject>("AircraftV2");Debug.Log(prefab);Transform parentTransform = transform.parent;Debug.Log("Parent Transform: " + parentTransform.name + ", Type: " + parentTransform.GetType());}void Update(){}
}