Перенос плавающего поля ввода в новую сцену и новый скрипт в Unity и C # - PullRequest
0 голосов
/ 02 октября 2018

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

Код первой сцены такой:прикреплен к пустому GameObject:

using UnityEngine;
using UnityEngine.UI;

public class Data : MonoBehaviour {

      static public float speed=10f;

      public InputField speedField;

      void Update()
      {
         speed = float.Parse(speedField.text);
         Debug.Log(speed);
      }
}

В следующей сцене я должен работать со скоростью в скрипте под названием Driving, который прикреплен к автомобилям.И я должен уничтожить Data-Script, потому что в следующей сцене у меня нет поля ввода.Как я могу получить доступ к скорости?

Я пытался пару часов, и я не могу найти решение для этого простого вопроса.Спасибо.

1 Ответ

0 голосов
/ 02 октября 2018

Существует много способов решения этой проблемы, поэтому я предлагаю использовать статический сценарий только для хранения данных, но вы не можете назначить его игровому объекту.Это простой подход, поскольку вам не нужно использовать синглтон.

public static class Data{
private static int speed
public static int speed{
    get 
    {
        return speed;
    }
    set 
    {
        speed = value;
    }
}

Если вы хотите назначить свой сценарий игровому объекту, используйте DontDestroyOnLoad (gameObject);Или используйте playerprefs для сохранения данных.

...