我在 Resources 文件夹中加载了一个预制件,但是当我试图从代码中获取它时,它返回 NULL。我怎样才能做对?我只想获取预制件并访问位于预制件中的我的 UI 组件,然后从预制件对象更改 UI 值..
GameObject alertPrefab = (GameObject)Instantiate(Resources.Load("Prefabs/AlertPrefab"));
最佳答案
您还可以创建一个 public
或 [SerializeField]
类型的 GameObject
变量并将 Prefab
拖到您想要使用,到 Inspector
中的 script
。
创建公共(public)变量
将预制件从预制件文件夹拖到脚本中
然后从脚本中的公共(public)变量实例化它
private void spawnNewFood () {
float rand = Random.Range (2, 6);
int factor = ((int)rand % 2 == 0) ? 1 : -1;
float x = rand * factor;
float z = rand * factor;
Vector3 positionFood = new Vector3 (x, 0, z);
Instantiate (_food, positionFood, Quaternion.identity);
}
关于c# - 尝试从资源文件夹加载预制件时获取空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25866493/