在 Unity 中重新启动另一个脚本中的一个脚本

Kor*_*ora -1 c# unity-game-engine

如何在另一个脚本中重新启动一个脚本?我试过这个,但它不起作用

Ball.Start();
Run Code Online (Sandbox Code Playgroud)

Ron*_*Ron 5

从 Unity 手册:

Like the Awake function, Start is called exactly once in the lifetime of the script.
Run Code Online (Sandbox Code Playgroud)

你可以做的是:

void Start()
{
   Init();
}

public void Init()
{
   // Some logic here
}
Run Code Online (Sandbox Code Playgroud)

然后你可以Init()从任何你想要的地方打电话。

如果您指的是完全重置 MonoBehaviour,则可以删除/添加它:

Destroy(gameObject.GetComponent<MyMonoBehaviour>());
gameObject.AddComponent<MyMonoBehaviour>();
Run Code Online (Sandbox Code Playgroud)