【问题标题】:Cannot Send Class Object From One Scene to Another无法将类对象从一个场景发送到另一个场景
【发布时间】:2022-06-29 04:28:16
【问题描述】:

我正在开发一个 Unity 游戏。 我在游戏中有一个从数据库中获取用户信息的登录场景。 获取用户信息后,名为 RegisteredUser 的模型类用于保存用户凭据。 我需要将创建的 RegisteredUser 类对象发送到下一个场景。但是我不能直接发送。当我尝试它时,我得到 NullExceptionError 并且对象丢失了。我该如何解决? 这是返回用户凭据的回调函数:

   public void userInfo (RegisteredUser newUser)
{
    loggedinUser.FirstName = newUser.FirstName;
    loggedinUser.LastName = newUser.LastName;
    loggedinUser.Email = newUser.Email;
    loggedinUser.Gender = newUser.Gender;


}

这是我要获取用户的姓名以在文本字段上打印的部分:

 void Start()
{
  //  string userName = currentUser.FirstName + currentUser.LastName;
    welcomeText = GameObject.Find("Canvas/SidebarPanel/WelcomeText").GetComponent<Text>();

}

【问题讨论】:

标签: c# unity3d game-development


【解决方案1】:

将您的对象存储在标记为 DontDestroyOnLoad 的 MonoBehaviour 脚本的字段/属性中。

此对象将持续存在,其数据也将持续存在。

public class PersistentDataContainer : MonoBehaviour
{
    public RegisteredUser UserInfo;

    private void Awake()
    {
        DontDestroyOnLoad(gameObject);
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多