如何在运行前使用未实现MonoBehaviour的脚本引用预制件?

时间:2014-10-24 00:33:02

标签: c# unity3d

根据标题,我基本上寻找一种方法将预制件与不实现MonoBehaviour的脚本相关联。在Unity编辑器中,我通常可以拖动预制件并将其直接放入脚本中,但是一旦我删除MonoBehaviour,我就不再有选择了。我需要删除MonoBehaviour,因为我正在创建我可以传递给"经理"的类的实例。

我已经看到很多人在运行时通过代码通过脚本引用预制件的例子,但这似乎是不必要的,因为我永远不会改变预制件我与那个特定的关联变量,我在实际运行任何代码之前准备好预制对象。我倾向于Resources.Load()作为我的答案,但我不确定这是否是理想的事情。

在运行时指定预制件是否有任何技巧,或者以类似于"拖放"的方式将GameObject变量与预制件关联的最有效方法是什么? Unity Editor中的关联方法?

1 个答案:

答案 0 :(得分:2)

您可以将普通C#课程指向GameObject或预制件。

using UnityEngine;

public class NotMonoBehaviour
{
    private GameObject gObject;

    public NotMonoBehaviour()
    {
        gObject = Resources.Load("MyPrefab") as GameObject;
    }
}

在这种情况下,代码会进入Resources文件夹并找到预制件。

enter image description here