如何向另一个场景发送消息

How to Send message to another scene

我的游戏中有两个场景(主菜单和游戏)。 主菜单中有两个按钮,每个按钮向游戏发送不同的值。 那么如何在其他场景脚本中设置这个值呢

脚本中 static 声明的任何变量都将在场景更改时保留。如果你在两个场景中都有一个脚本,并且在一个场景中设置了一个静态变量的值,那么另一个场景中的脚本实例将访问相同的值。

如果我没理解错的话,你是想在主菜单场景和游戏场景之间传递设置。

您可以做的是创建一个包含所有设置的 GameSettings 脚本,并将其粘贴到主菜单场景的游戏对象上。 将您的设置存储在此脚本中。

加载游戏场景通常会破坏所有现有的游戏对象,但 Unity 提供了 Object.DontDestroyOnLoad() 功能来防止对象在加载时被破坏。 在您的 GameSettings 脚本中使用它,它将同时存在于主菜单和游戏场景中,您将能够从游戏场景中检索您存储的设置。

查看文档以获取更多信息:http://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html

这是一个例子:

public class GameSettings : MonoBehaviour
{
    public int NumberOfPlayer;
    /* Add other game settings here ... */

    void Awake()
    {
        DontDestroyOnLoad(transform.gameObject)
    }
}

希望对您有所帮助:)