如何使 ac# 脚本在场景开始时统一运行

Jr *_*les 6 c# unity-game-engine

我正在做一个学校项目。我需要在场景开始后立即检查场景中被破坏的对象。问题是我不知道如何加载它或在哪里附加 c# 脚本。

public static class DestroyedObject {

    static List<GameObject> objs = new List<GameObject>();
    public static void Add(GameObject obj) 
    {
        if(!objs.Contains(obj))
            objs.Add(obj); 
    } 
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*elt 8

如果您希望它在开始场景时运行,则需要将其附加到GameObject. 创建空并将其作为组件附加。

您要在启动时运行的代码应位于:

void Awake
{
    //Your code here
}
Run Code Online (Sandbox Code Playgroud)

或者

void Start
{
    //Your code here
}
Run Code Online (Sandbox Code Playgroud)

职能。

一旦类被实例化就会调用 Start 并且在场景开始时调用 Awake 。取决于您希望它在调用堆栈中的哪个位置,但在您的情况下,我认为它基本上会做同样的事情。

  • 如果您将带有脚本的 GameObject 放置在场景中并运行该场景,则您在 `Start()` 方法中编写的所有代码都将运行。 (2认同)