Как я могу передать информацию о таймере из моей главной сцены в другую (попробуйте снова)? Unity C # - PullRequest
2 голосов
/ 01 октября 2019

У меня есть таймер в моей главной сцене, и я пытаюсь передать счет времени в другую сцену. Сцена, которую я пытаюсь пройти, - это сценарий «Снова», поэтому я хочу, чтобы пользователь мог видеть счет, который он получил в последней игре, в которую играл.

Я смотрел много видео на YouTube, объясняющих, как передавать значения, но это не помогло мне.

Сценарий игрока:

public Text timerText;
private float startTime;

void Start()
    {
        startTime = Time.time;
    }

    void Update()
    {
        float t = Time.time - startTime;

        string minutes = ((int) t / 60).ToString();
        string seconds = (t % 60).ToString("f2 ");

        timerText.text = minutes + ":" + seconds;
    }

Попробовать еще раз Сцена:

Try Again Scene

Попытка передать результат игрокаСценарий для повторной попытки сцена.

1 Ответ

3 голосов
/ 01 октября 2019

Объект сценариев

Вы должны использовать объект scriptableObject вместо наследования монобихи-поведения. How to implement a scriptable object

ScripttableObject живет в папках и действует как GameObject. Это означает, что его не нужно создавать для получения и установки значений.

Представьте, что у вас есть игровой объект / скрипт со всей необходимой вам глобальной информацией, которая никогда не будет уничтожена.

, чтобы вы моглиМожно сказать:

[CreateAssetMenu(fileName = "GlobalVariables", menuName = "ScriptableObject: global variables")]
     public class GlobalVariable: ScriptableObject {
         public int time; 
    }

public class TimeCount : MonoBehaviour {

    public GlobalVariable variableStorage;

        public void Update() {
            variableStorage.time = Time.time;
        }
     }

, а затем вам просто нужно перетащить scriptableObject в поле variableStorage в инспекторе: изображение моей игры enter image description here

для получения дополнительной информации посмотрите на это видео: https://youtu.be/TLVf4ky7I3k

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