Как сохранить и загрузить Scene и Gameobject в Unity3D - PullRequest
0 голосов
/ 13 мая 2019

У меня есть проект кабельного соединения в единстве, и я хочу сохранить все модификации, которые игрок делает в сцене.

Как мне сохранить игру? Как я могу сохранить свой игровой объект? Мне нужно сериализовать мой игровой объект, но я не знаю, как это сделать!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityStandardAssets.Characters.FirstPerson;

public class GameController : MonoBehaviour 
{    
    public Transform player;

    int i;

    void Start ()
    {
        i = 1; 
    }

    void Update () 
    {
        if (Input.GetKeyUp(KeyCode.Escape))     
        {   
            Pause(); 
        }

    if(player.GetComponent<FirstPersonController>().enabled == false) 
    {
        if (Input.GetKey (KeyCode.UpArrow))
        { 
            Debug.Log ("Up pressed");
            player.transform.position = new Vector3(player.transform.position.x,player.transform.position.y + 1.0f,player.transform.position.z); 
        } 
        else if (Input.GetKey (KeyCode.DownArrow))
        { 
            Debug.Log ("Down pressed");
            player.transform.position = new Vector3(player.transform.position.x,player.transform.position.y - 1.0f,player.transform.position.z); 
        }
    }
}

1 Ответ

0 голосов
/ 13 мая 2019

Итак, я предполагаю, что - в другом скрипте - вы собираетесь загрузить новую сцену и хотите сохранить объект, к которому прикреплен скрипт GameController.

В этом случае вы можете использовать вызов DontDestroyOnLoad () , тривиальная форма выглядит следующим образом (просто добавьте функцию Awake() в ваш класс):

void Awake()
{
    DontDestroyOnLoad(this.gameObject);
}

Таким образом, объект не будет уничтожен при загрузке новой сцены.

Если вы хотите сохранить данные, когда игра закрыта, чтобы потом загрузить их, PlayerPrefs - это ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...