我在Resources文件夹中加载了一个预制件,但是当我试图从代码中获取它时它返回NULL。我怎么能这样做?我只想获得预制件并访问位于预制件中的UI组件,然后从预制件对象中更改UI值。
GameObject alertPrefab = (GameObject)Instantiate(Resources.Load("Prefabs/AlertPrefab"));
答案 0 :(得分:0)
您还可以创建public
类型的[SerializeField]
或GameObject
变量,并将要使用的Prefab
拖到script
内{ {1}}。
创建公共变量
将预制件从预制文件夹拖到脚本
而不是从脚本中的public var实例化它
Inspector
答案 1 :(得分:-3)
所有资产名称& Unity中的路径使用正斜杠,使用反斜杠的路径不起作用。
" Prefabs / AlertPrefab")你不能这样做
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
void Start() {
GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);
go.renderer.material.mainTexture = Resources.Load("glass", typeof(Texture2D));
}
}